test_optimize.py 855 B

12345678910111213141516171819202122232425262728293031
  1. import unittest
  2. from src.optimize import optimize_global
  3. from src.statement import Statement as S, Block as B
  4. class TestOptimize(unittest.TestCase):
  5. def setUp(self):
  6. pass
  7. def test_optimize_global_movaa(self):
  8. foo = S('command', 'foo')
  9. bar = S('command', 'baz')
  10. block = B([foo, \
  11. S('command', 'move', '$regA', '$regA'),
  12. bar])
  13. optimize_global(block)
  14. self.assertEquals(block.statements, [foo, bar])
  15. def test_optimize_global_movab(self):
  16. foo = S('command', 'foo')
  17. move = S('command', 'move', '$regA', '$regB')
  18. bar = S('command', 'baz')
  19. block = B([foo, \
  20. move,
  21. bar])
  22. optimize_global(block)
  23. self.assertEquals(block.statements, [foo, move, bar])
  24. def