import unittest from cognos7.mdl_convert import convert_block org_name_1 = """OrgName 11201687 "Monat_Belege" Origin Calculated Offset 0 Column "Monat_Belege" Storage Default Scale 0 Size 1 Decimals 0 Class Quantity InputScale 0 TimeArray Off ColSrcType None Calc month ( "Bookkeep Date@9238295" ) """ org_name_2 = """ OrgName 10440931 "Konto" Origin Calculated Offset 62 Column "Konto" Storage Default Scale 0 Size 1 Decimals 0 Class Description InputScale 0 TimeArray Off ColSrcType None Calc "Acct Nr@10440811" + ' - ' + "Konto Bezeichnung@10440813" """ special_cat_1 = """SpecialCategory 11637 "M bisher gruppiert~ÄNDERUNG ( ""Voriger M bisher"" , ""M bisher"" )" Parent 299 Levels 0 Label "M bisher Änderung" Lastuse 20210106 Rollup False TimeAggregate None Calc change ( "M bisher gruppiert~Voriger M bisher@11635" , "M bisher gruppiert~M bisher@11633" ) Sign False """ special_cat_2 = """SpecialCategory 11655 "Q bisher gruppiert~PROZENTZUWACHS ( ""Voriges Q bisher"" , ""Q bisher"" )" Parent 305 Levels 0 Label "Q bisher Zuwachs" Lastuse 20210106 Rollup False TimeAggregate None Calc percent-growth ( "Q bisher gruppiert~Voriges Q bisher@11649" , "Q bisher gruppiert~Q bisher@11645" ) Format "0%~2" Sign False """ class TestMdlConvert(unittest.TestCase): def test_convert_block_org_name(self): self.assertEqual( convert_block(org_name_1), { "Associations": [], "Calc": 'month ( "Bookkeep Date@9238295" )', "Class": "Quantity", "ColSrcType": "None", "Column": "Monat_Belege", "Decimals": "0", "ID": "11201687", "InputScale": "0", "Name": "Monat_Belege", "Offset": "0", "Origin": "Calculated", "Scale": "0", "Size": "1", "Storage": "Default", "TimeArray": "Off", "Type": "OrgName", }, ) self.assertEqual( convert_block(org_name_2), { "Associations": [], "Calc": '"Acct Nr@10440811" + \' - \' + "Konto Bezeichnung@10440813"', "Class": "Description", "ColSrcType": "None", "Column": "Konto", "Decimals": "0", "ID": "10440931", "InputScale": "0", "Name": "Konto", "Offset": "62", "Origin": "Calculated", "Scale": "0", "Size": "1", "Storage": "Default", "TimeArray": "Off", "Type": "OrgName", }, ) def test_convert_block_special_category(self): self.maxDiff = None self.assertEqual( convert_block(special_cat_1), { "Calc": 'change ( "M bisher gruppiert~Voriger M bisher@11635" , "M bisher gruppiert~M bisher@11633" )', "ID": "11637", "Label": "M bisher Änderung", "Lastuse": "20210106", "Levels": "0", "M": " )", "Name": "M", "Parent": "299", "Rollup": "False", "TimeAggregate": "None", "Type": "SpecialCategory", "Voriger": "M", "bisher": "ÄNDERUNG", }, ) self.assertEqual( convert_block(special_cat_2), { "Calc": 'percent-growth ( "Q bisher gruppiert~Voriges Q bisher@11649" , "Q bisher gruppiert~Q bisher@11645" )', "ID": "11655", "Label": "Q bisher Zuwachs", "Lastuse": "20210106", "Levels": "0", "Name": "Q", "Parent": "305", "Q": " )", "Rollup": "False", "TimeAggregate": "None", "Type": "SpecialCategory", "Voriges": "Q", "bisher": "PROZENTZUWACHS", }, )