test_mdl_convert.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. import unittest
  2. from cognos7.mdl_convert import convert_block
  3. org_name_1 = """OrgName 11201687 "Monat_Belege" Origin Calculated Offset 0 Column "Monat_Belege"
  4. Storage Default Scale 0 Size 1 Decimals 0 Class Quantity InputScale 0 TimeArray Off
  5. ColSrcType None Calc month ( "Bookkeep Date@9238295" )
  6. """
  7. org_name_2 = """
  8. OrgName 10440931 "Konto" Origin Calculated Offset 62 Column "Konto" Storage Default
  9. Scale 0 Size 1 Decimals 0 Class Description InputScale 0 TimeArray Off
  10. ColSrcType None Calc "Acct Nr@10440811" + ' - ' + "Konto Bezeichnung@10440813"
  11. """
  12. special_cat_1 = """SpecialCategory 11637 "M bisher gruppiert~ÄNDERUNG ( ""Voriger M bisher"" , ""M bisher"" )"
  13. Parent 299 Levels 0 Label "M bisher Änderung" Lastuse 20210106 Rollup False
  14. TimeAggregate None Calc change ( "M bisher gruppiert~Voriger M bisher@11635" , "M bisher gruppiert~M bisher@11633" ) Sign False
  15. """
  16. special_cat_2 = """SpecialCategory 11655 "Q bisher gruppiert~PROZENTZUWACHS ( ""Voriges Q bisher"" , ""Q bisher"" )"
  17. Parent 305 Levels 0 Label "Q bisher Zuwachs" Lastuse 20210106 Rollup False
  18. TimeAggregate None Calc percent-growth ( "Q bisher gruppiert~Voriges Q bisher@11649" , "Q bisher gruppiert~Q bisher@11645" ) Format "0%~2"
  19. Sign False
  20. """
  21. class TestMdlConvert(unittest.TestCase):
  22. def test_convert_block_org_name(self):
  23. self.assertEqual(
  24. convert_block(org_name_1),
  25. {
  26. "Associations": [],
  27. "Calc": 'month ( "Bookkeep Date@9238295" )',
  28. "Class": "Quantity",
  29. "ColSrcType": "None",
  30. "Column": "Monat_Belege",
  31. "Decimals": "0",
  32. "ID": "11201687",
  33. "InputScale": "0",
  34. "Name": "Monat_Belege",
  35. "Offset": "0",
  36. "Origin": "Calculated",
  37. "Scale": "0",
  38. "Size": "1",
  39. "Storage": "Default",
  40. "TimeArray": "Off",
  41. "Type": "OrgName",
  42. },
  43. )
  44. self.assertEqual(
  45. convert_block(org_name_2),
  46. {
  47. "Associations": [],
  48. "Calc": '"Acct Nr@10440811" + \' - \' + "Konto Bezeichnung@10440813"',
  49. "Class": "Description",
  50. "ColSrcType": "None",
  51. "Column": "Konto",
  52. "Decimals": "0",
  53. "ID": "10440931",
  54. "InputScale": "0",
  55. "Name": "Konto",
  56. "Offset": "62",
  57. "Origin": "Calculated",
  58. "Scale": "0",
  59. "Size": "1",
  60. "Storage": "Default",
  61. "TimeArray": "Off",
  62. "Type": "OrgName",
  63. },
  64. )
  65. def test_convert_block_special_category(self):
  66. self.maxDiff = None
  67. self.assertEqual(
  68. convert_block(special_cat_1),
  69. {
  70. "Calc": 'change ( "M bisher gruppiert~Voriger M bisher@11635" , "M bisher gruppiert~M bisher@11633" )',
  71. "ID": "11637",
  72. "Label": "M bisher Änderung",
  73. "Lastuse": "20210106",
  74. "Levels": "0",
  75. "M": " )",
  76. "Name": "M",
  77. "Parent": "299",
  78. "Rollup": "False",
  79. "TimeAggregate": "None",
  80. "Type": "SpecialCategory",
  81. "Voriger": "M",
  82. "bisher": "ÄNDERUNG",
  83. },
  84. )
  85. self.assertEqual(
  86. convert_block(special_cat_2),
  87. {
  88. "Calc": 'percent-growth ( "Q bisher gruppiert~Voriges Q bisher@11649" , "Q bisher gruppiert~Q bisher@11645" )',
  89. "ID": "11655",
  90. "Label": "Q bisher Zuwachs",
  91. "Lastuse": "20210106",
  92. "Levels": "0",
  93. "Name": "Q",
  94. "Parent": "305",
  95. "Q": " )",
  96. "Rollup": "False",
  97. "TimeAggregate": "None",
  98. "Type": "SpecialCategory",
  99. "Voriges": "Q",
  100. "bisher": "PROZENTZUWACHS",
  101. },
  102. )