class TextTests(unittest.TestCase): def setUp(self): self.gapbuffer = GapBuffer() def tearDown(self): pass def test_empty_buffer_gives_empty_text(self): self.assertEqual("", self.gapbuffer.get_text())
class DeleteTests(unittest.TestCase): def setUp(self): self.gapbuffer = GapBuffer() def test_deleting_single_character(self): self.gapbuffer.insert("a") self.gapbuffer.delete() self.assertEqual("", self.gapbuffer.get_text()) def test_deleting_multiple_characters(self): self.gapbuffer.insert("abcd") self.gapbuffer.delete() self.gapbuffer.delete() self.assertEqual("ab", self.gapbuffer.get_text()) def test_delete_after_moving_cursor(self): self.gapbuffer.insert("abcd") self.gapbuffer.move_cursor_backward(2) self.gapbuffer.delete() self.assertEqual("acd", self.gapbuffer.get_text()) def test_cursor_has_correct_position_after_single_delete(self): self.gapbuffer.insert("abc") self.gapbuffer.delete() self.assertEqual(2, self.gapbuffer.get_cursor_position()) def test_cursor_has_correct_position_after_multiple_delete(self): self.gapbuffer.insert("abc") self.gapbuffer.delete() self.gapbuffer.delete() self.assertEqual(1, self.gapbuffer.get_cursor_position()) def test_cursor_has_correct_position_after_being_moved_and_delete(self): self.gapbuffer.insert("abcd") self.gapbuffer.move_cursor_backward(2) self.gapbuffer.delete() self.assertEqual(1, self.gapbuffer.get_cursor_position())
class InsertTests(unittest.TestCase): def setUp(self): self.gapbuffer = GapBuffer() def tearDown(self): pass def test_insert_one_character(self): self.gapbuffer.insert('a') self.assertEqual("a", self.gapbuffer.get_text()) def test_insert_one_characterAsString(self): self.gapbuffer.insert("a") self.assertEqual("a", self.gapbuffer.get_text()) def test_insert_multiple_character(self): self.gapbuffer.insert('a') self.gapbuffer.insert('b') self.gapbuffer.insert('c') self.assertEqual("abc", self.gapbuffer.get_text()) def test_insert_with_multi_character_string(self): self.gapbuffer.insert("abc") self.assertEqual("abc", self.gapbuffer.get_text()) def test_insert_with_one_special_character(self): self.gapbuffer.insert('\n') self.assertEqual('\n', self.gapbuffer.get_text()) def test_insert_With_multiple_special_characters(self): self.gapbuffer.insert('\t') self.gapbuffer.insert('\n') self.assertEqual("\t\n", self.gapbuffer.get_text()) def test_insert_with_multiple_special_character_string(self): self.gapbuffer.insert("\t\n") self.assertEqual("\t\n", self.gapbuffer.get_text()) def test_insert_on_correct_sized_buffer(self): self.gapbuffer = GapBuffer(6) self.gapbuffer.insert("hell\no") self.assertEqual("hell\no", self.gapbuffer.get_text()) def test_inser_on_incorrectly_sized_buffer(self): self.gapbuffer = GapBuffer(2) self.gapbuffer.insert("hell\no") self.assertEqual("hell\no", self.gapbuffer.get_text()) def testCursorHasCorrectPositionAfterInsert(self): self.assertEqual(0, self.gapbuffer.get_cursor_position()) self.gapbuffer.insert('a') self.assertEqual(1, self.gapbuffer.get_cursor_position()) def test_cursor_has_correct_position_after_multiple_inserts(self): self.assertEqual(0, self.gapbuffer.get_cursor_position()) self.gapbuffer.insert('a') self.gapbuffer.insert('b') self.assertEqual(2, self.gapbuffer.get_cursor_position()) def test_cursor_has_correct_position_after_insert_in_middle_of_buffer( self): self.gapbuffer.insert("abef") self.gapbuffer.move_cursor_backward(2) self.gapbuffer.insert("cd") self.assertEqual(4, self.gapbuffer.get_cursor_position()) def test_cursor_has_correct_position_after_multi_character_string_insert( self): self.assertEqual(0, self.gapbuffer.get_cursor_position()) self.gapbuffer.insert("abc") self.assertEqual(3, self.gapbuffer.get_cursor_position()) def test_insert_in_middle_of_buffer_after_moving_cursor(self): self.gapbuffer.insert("acd") self.gapbuffer.move_cursor_backward(2) self.gapbuffer.insert('b') self.assertEqual("abcd", self.gapbuffer.get_text()) def test_insert_at_start_of_buffer_after_moving_cursor(self): self.gapbuffer.insert("bcd") self.gapbuffer.move_cursor_backward(3) self.gapbuffer.insert('a') self.assertEqual("abcd", self.gapbuffer.get_text())