def test_get_program_output_from_buffer_contents_returns_expected_error_when_given_invalid_input(self):
     buffer_contents = ["not_a_program", "fail = 27"]
     expected_error = ['/bin/sh: 1: not_a_program: not found']
     returned_buffer = sut.get_program_output_from_buffer_contents(buffer_contents)
     self.assertEqual(expected_error, returned_buffer)
 def test_get_program_output_from_buffer_contents_returns_expected_content_when_error_and_std_out_are_produced(self):
     buffer_contents = ["python", "print('This is good')", "raise Exception('This is bad')"]
     expected_error = ['Traceback (most recent call last):', '  File "<stdin>", line 2, in <module>', 'Exception: This is bad', 'This is good']
     returned_buffer = sut.get_program_output_from_buffer_contents(buffer_contents)
     self.assertEqual(expected_error, returned_buffer)
 def test_get_program_output_from_buffer_contents_returns_properly_formatted_results_when_given_valid_python_input(self):
     buffer_contents = ["python", "name = 'Jarrod'", "", "def hello():", "    print('Hello {0}'.format(name))", "", "hello()"]
     return_result = sut.get_program_output_from_buffer_contents(buffer_contents)
     expected_result = ["Hello Jarrod"]
     self.assertEqual(expected_result, return_result)