Passed
Branch development/test (af2993)
by Daniel
02:00
created

MyTestCase.test_numbers_with_leading_zero()   A

Complexity

Conditions 3

Size

Total Lines 41
Code Lines 28

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
eloc 28
nop 1
dl 0
loc 41
rs 9.208
c 0
b 0
f 0
1
import os
2
from sources.db_extractor.BasicNeeds import BasicNeeds
3
# package to facilitate multiple operation system operations
4
import platform
5
import unittest
6
7
8
class MyTestCase(unittest.TestCase):
9
10
    def test_file_statistics(self):
11
        parent_folder = os.path.abspath(os.pardir) + '/' + '/'.join([
12
            'virtual_environment',
13
            'Scripts'
14
        ])
15
        relevant_file = 'pip'
16
        if platform.system() == 'Windows':
17
            relevant_file += '.exe'
18
        file_to_evaluate = os.path.join(parent_folder, relevant_file)
19
        bn = BasicNeeds()
20
        value_to_assert = bn.fn_get_file_statistics(file_to_evaluate)['size [bytes]']
21
        value_to_compare_with = os.path.getsize(file_to_evaluate)
22
        self.assertEqual(value_to_assert, value_to_compare_with)
23
24
    def test_numbers_with_leading_zero(self):
25
        pair_values = [
26
            {
27
                'given': '1',
28
                'leading_zeros': 2,
29
                'expected': '01'
30
            },
31
            {
32
                'given': '1',
33
                'leading_zeros': 10,
34
                'expected': '0000000001'
35
            },
36
            {
37
                'given': '1',
38
                'leading_zeros': 1,
39
                'expected': '1'
40
            }
41
        ]
42
        bn = BasicNeeds()
43
        for current_pair in pair_values:
44
            
45
            value_to_assert = bn.fn_numbers_with_leading_zero(current_pair['given'],
46
                                                              current_pair['leading_zeros'])
47
            self.assertEqual(value_to_assert, current_pair['expected'],
48
                             'Provided values was "' + value_to_assert + '", Expected')
49
        pair_failing_values = [
50
            {
51
                'given': '1',
52
                'leading_zeros': 2,
53
                'expected': '02'
54
            },
55
            {
56
                'given': '1',
57
                'leading_zeros': 0,
58
                'expected': ''
59
            }
60
        ]
61
        for current_pair in pair_failing_values:
62
            value_to_assert = bn.fn_numbers_with_leading_zero(current_pair['given'],
63
                                                              current_pair['leading_zeros'])
64
            self.assertNotEqual(value_to_assert, current_pair['expected'])
65
66
67
if __name__ == '__main__':
68
    unittest.main()
69