Total Complexity | 4 |
Total Lines | 32 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | from sources.db_extractor.ParameterHandling import datetime, BasicNeeds, ParameterHandling |
||
2 | # package to facilitate multiple operation system operations |
||
3 | import unittest |
||
4 | |||
5 | |||
6 | class MyTestCase(unittest.TestCase): |
||
7 | |||
8 | def test_interpret_known_expression(self): |
||
9 | bn = BasicNeeds() |
||
10 | json_structure = bn.fn_open_file_and_get_content('expressions.json') |
||
11 | pair_values = [] |
||
12 | index_counter = 0 |
||
13 | for current_expression_group in json_structure.items(): |
||
14 | for current_expression in current_expression_group[1]: |
||
15 | pair_values.append(index_counter) |
||
16 | pair_values[index_counter] = current_expression |
||
17 | index_counter += 1 |
||
18 | ph = ParameterHandling() |
||
19 | for current_pair in pair_values: |
||
20 | reference_date = datetime.strptime(current_pair['reference_date'], '%Y-%m-%d') |
||
21 | expression_parts = current_pair['expression'].split('_') |
||
22 | value_to_assert = ph.interpret_known_expression(reference_date, expression_parts) |
||
23 | self.assertEqual(value_to_assert, current_pair['expected'], |
||
24 | 'Provided value was "' + current_pair['reference_date'] |
||
25 | + '", Expression was "' + current_pair['expression'] + '" ' |
||
26 | + '", Expected was "' + current_pair['expected'] + '" ' |
||
27 | + 'but received was "' + value_to_assert + '"...') |
||
28 | |||
29 | |||
30 | if __name__ == '__main__': |
||
31 | unittest.main() |
||
32 | |||
33 |