test_file_concatenator.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import io
  2. import unittest
  3. from toolchain.writers.file_concatenator import FileConcatenator
  4. class TestFileConcatenator(unittest.TestCase):
  5. def setUp(self):
  6. self.output = io.StringIO()
  7. self.concatenator = FileConcatenator()
  8. def tearDown(self):
  9. self.output.close()
  10. def make_input(self, lines):
  11. input = io.StringIO()
  12. for line in lines:
  13. input.write(line + "\n")
  14. input.seek(0)
  15. return input
  16. def test_empty(self):
  17. input = self.make_input([])
  18. self.concatenator.concatenate_file(input, self.output)
  19. self.assertEqual(self.output.getvalue(), "")
  20. def test_single_line(self):
  21. input = self.make_input(["aniseed"])
  22. self.concatenator.concatenate_file(input, self.output)
  23. self.assertEqual(self.output.getvalue(), "aniseed\n")
  24. def test_multiple_line(self):
  25. input = self.make_input(["aniseed", "basil", "cinnamon dill", "elderflower"])
  26. self.concatenator.concatenate_file(input, self.output)
  27. self.assertEqual(self.output.getvalue(), "aniseed\nbasil\ncinnamon dill\nelderflower\n")
  28. if __name__ == "__main__":
  29. unittest.main()