def test_has_returned_every_line_empty_file(self): """With empty file (a degenerate case), it is expected to have returned everything.""" with patch("file_read_backwards.buffer_work_space._get_file_size" ) as _get_file_size_mock: fp_mock = Mock() _get_file_size_mock.return_value = 0 b = BufferWorkSpace(fp_mock, chunk_size=io.DEFAULT_BUFFER_SIZE) r = b.has_returned_every_line() self.assertTrue(r)
def test_has_returned_every_line_with_not_fully_read_in_buffer_space(self): """With BufferWorkSpace that has not fully read in, it definitely has not returned everything. Note that: not fully read in is represented by read_position != 0 """ with patch("file_read_backwards.buffer_work_space._get_file_size" ) as _get_file_size_mock: fp_mock = Mock() _get_file_size_mock.return_value = 1024 b = BufferWorkSpace(fp_mock, chunk_size=io.DEFAULT_BUFFER_SIZE) b.read_position = 1 r = b.has_returned_every_line() self.assertFalse(r)
def test_has_returned_every_line_with_fully_read_in_and_processed_buffer_space( self): """BufferWorkSpace that has been fully read in and fully processed has not returned everything. Note: not fully read in and some unprocessed buffer is represented by read_position = 0 and read_buffer = None """ with patch("file_read_backwards.buffer_work_space._get_file_size" ) as _get_file_size_mock: fp_mock = Mock() _get_file_size_mock.return_value = 1024 b = BufferWorkSpace(fp_mock, chunk_size=io.DEFAULT_BUFFER_SIZE) b.read_position = 0 b.read_buffer = None r = b.has_returned_every_line() self.assertTrue(r)