test_simple.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import unittest
  2. import util
  3. from postproc import postproc
  4. from hutn_compiler.compiler import main
  5. def compile_file(obj, filename):
  6. result = main(util.get_code_path(filename), "grammars/actionlanguage.g", "PS", [])
  7. expected = open(util.get_expected_path(filename)).read()
  8. print(result)
  9. result = postproc(result)
  10. expected = postproc(expected)
  11. if result != expected:
  12. #f = open(util.get_expected_path(filename), 'w')
  13. #f.write(result)
  14. #f.close()
  15. pass
  16. assert result == expected
  17. class TestSimple(unittest.TestCase):
  18. def test_assign(self):
  19. compile_file(self, "assign.al")
  20. def test_vardecl(self):
  21. compile_file(self, "vardecl.al")
  22. def test_funccall(self):
  23. compile_file(self, "funccall.al")
  24. def test_ifelse(self):
  25. compile_file(self, "ifelse.al")
  26. def test_while(self):
  27. compile_file(self, "while.al")
  28. def test_funcdef_params(self):
  29. compile_file(self, "funcdef_params.al")
  30. def test_funccall_params(self):
  31. compile_file(self, "funccall_params.al")
  32. def test_action(self):
  33. compile_file(self, "action.al")
  34. def test_types(self):
  35. compile_file(self, "types.al")
  36. def test_mutual_recursion(self):
  37. compile_file(self, "mutual_recursion.al")
  38. def test_global(self):
  39. compile_file(self, "global.al")
  40. def test_include(self):
  41. compile_file(self, "include.al")
  42. def test_multi_include(self):
  43. compile_file(self, "multi_include.al")
  44. def test_dict_access(self):
  45. compile_file(self, "dict_access.al")