def _test_clone(self, app, *args): c = Cursor() c.set_implementation(MockCursor()) c.go(300) c.mark() self.assertEqual(c.pos, 300) c1 = c.clone() self.assertEqual(c1.pos, 300) self.assertEqual(c1.eol_implementation, c.eol_implementation) self.assertEqual(c1.file_id, c.file_id) self.assertEqual(c1.filename, c.filename) self.assertEqual(c1.get_marked_count(), 1) c.mark_all(False) self.assertEqual(c1.get_marked_count(), c.get_marked_count()) c1.go(200) self.assertEqual(c1.pos, 200) c.go_eol() c1 = c.clone() self.assertEqual(c1.pos, c1.pos) self.assertEqual(c1.eol_implementation, c.eol_implementation) self.assertEqual(c1.file_id, c.file_id) self.assertEqual(c1.filename, c.filename) self.assertEqual(1000, c1.pos) c1.go_previous() self.assertEqual(999, c1.pos) self.assertEqual(999, c1.file_id) app.stop()
def _test_advanced_clone(self, app, *args): c = Cursor() c.set_implementation(MockCursor()) c.go(990) c.mark() c.go_next() c.cut_marked() c.go_eol() c.paste_marked(append=True, update_cursor=False) c1 = c.clone() c1.go(999) self.assertFalse(c1.is_eol()) self.assertEqual(c1.pos, 999) self.assertEqual(c1.file_id, 990) app.stop()
def _test_advanced_mark(self, app, *args): def test_eol(c): self.assertTrue(c.is_eol()) self.assertEqual(0, c.pos) self.assertIsNone(c.file_id) self.assertEqual(0, len(c)) c = Cursor() c.set_implementation(MockCursor()) c.go(500) c.mark_all() c.cut_marked() test_eol(c) c.go_previous() test_eol(c) c.go_next() test_eol(c) c.go_first() test_eol(c) c.go_last() test_eol(c) c.go_eol() test_eol(c) c.go(200) test_eol(c) c.go_previous() test_eol(c) c.go_next() test_eol(c) c.paste_marked() self.assertFalse(c.is_eol()) self.assertEqual(1000, len(c)) self.assertEqual(0, c.pos) self.assertEqual(0, c.file_id) c.go_next() self.assertEqual(1, c.pos) self.assertEqual(1, c.file_id) app.stop()
def _test_mark(self, app, *args): c = Cursor() c.set_implementation(MockCursor()) self.assertFalse(c.get_mark()) # test marking c.mark() self.assertTrue(c.get_mark()) c.go_next() self.assertFalse(c.get_mark()) c.mark(True) self.assertTrue(c.get_mark()) c.go_next() self.assertFalse(c.get_mark()) c.go_first() self.assertTrue(c.get_mark()) self.assertEqual(2, c.get_marked_count()) # test unmarking c.mark() self.assertFalse(c.get_mark()) c.go_next() c.mark() self.assertFalse(c.get_mark()) c.go_next() c.mark(False) self.assertFalse(c.get_mark()) self.assertEqual(0, c.get_marked_count()) # test cut & paste c.go(5) self.assertEqual(5, c.file_id) c.mark() c.go_first() c.cut_marked() self.assertEqual(999, len(c)) c.go(5) self.assertEqual(5, c.pos) self.assertEqual(6, c.file_id) c.go(1) c.paste_marked() self.assertEqual(1000, len(c)) self.assertEqual(1, c.pos) self.assertEqual(5, c.file_id) c.go(10) for i in range(20): c.mark() c.go_next() c.go(10) c.cut_marked() self.assertEqual(10, c.pos) self.assertEqual(30, c.file_id) c.go_next() self.assertEqual(11, c.pos) self.assertEqual(31, c.file_id) c.go_previous() c.paste_marked() self.assertEqual(10, c.pos) self.assertEqual(10, c.file_id) c.go_next() self.assertEqual(11, c.pos) self.assertEqual(11, c.file_id) # reset cursor c = Cursor() c.set_implementation(MockCursor()) # test special cases like first and last c.go_first() c.mark() c.cut_marked() self.assertEqual(0, c.pos) self.assertEqual(1, c.file_id) c.go_previous() self.assertEqual(0, c.pos) self.assertEqual(1, c.file_id) c.go_next() self.assertEqual(1, c.pos) self.assertEqual(2, c.file_id) c.paste_marked() self.assertEqual(1, c.pos) self.assertEqual(0, c.file_id) c.go_next() self.assertEqual(2, c.pos) self.assertEqual(2, c.file_id) c.go_last() self.assertEqual(999, c.pos) self.assertEqual(999, c.file_id) c.mark() self.assertTrue(c.get_mark()) c.cut_marked() self.assertEqual(999, c.pos) self.assertIsNone(c.file_id) self.assertTrue(c.is_eol()) c.paste_marked() self.assertEqual(999, c.pos) self.assertEqual(999, c.file_id) self.assertFalse(c.is_eol()) # reset cursor c = Cursor() c.set_implementation(MockCursor()) # test cut all c.mark_all() c.cut_marked() self.assertTrue(c.is_eol()) self.assertEqual(0, c.pos) self.assertIsNone(c.file_id) self.assertEqual(0, len(c)) c.paste_marked() self.assertFalse(c.is_eol()) self.assertEqual(1000, len(c)) self.assertEqual(0, c.pos) self.assertEqual(0, c.file_id) c.go_next() self.assertEqual(1, c.pos) self.assertEqual(1, c.file_id) c.go_previous() c.go_previous() self.assertEqual(0, c.pos) self.assertEqual(0, c.file_id) c.go_last() self.assertEqual(999, c.pos) self.assertEqual(999, c.file_id) self.assertFalse(c.is_eol()) c.go_next() self.assertTrue(c.is_eol()) self.assertEqual(1000, c.pos) c.mark_all(True) c.cut_marked() c.cut_marked() self.assertTrue(c.is_eol()) self.assertEqual(0, c.pos) self.assertIsNone(c.file_id) self.assertEqual(0, len(c)) c.paste_marked() self.assertFalse(c.is_eol()) self.assertEqual(1000, len(c)) self.assertEqual(0, c.pos) self.assertEqual(0, c.file_id) app.stop()
def _test_move_items(self, app, *args): c = Cursor() c.set_implementation(MockCursor()) c.go(5) c.move_to(4) self.assertEqual(4, c.pos) self.assertEqual(5, c.file_id) c.go(5) self.assertEqual(5, c.pos) self.assertEqual(4, c.file_id) c.go(20) c.move_to(10) self.assertEqual(10, c.pos) self.assertEqual(20, c.file_id) c.go_next() self.assertEqual(11, c.pos) self.assertEqual(10, c.file_id) c.go_next() self.assertEqual(12, c.pos) self.assertEqual(11, c.file_id) c.go(20) self.assertEqual(20, c.pos) self.assertEqual(19, c.file_id) c.go_next() self.assertEqual(21, c.pos) self.assertEqual(21, c.file_id) c.go_previous() self.assertEqual(20, c.pos) self.assertEqual(19, c.file_id) c.go(30) c.move_to(35) self.assertEqual(35, c.pos) self.assertEqual(30, c.file_id) c.go_next() self.assertEqual(36, c.pos) self.assertEqual(36, c.file_id) c.go(30) self.assertEqual(30, c.pos) self.assertEqual(31, c.file_id) c.go(34) self.assertEqual(34, c.pos) self.assertEqual(35, c.file_id) # cases with first place c.go_first() c.move_to(2) self.assertEqual(2, c.pos) self.assertEqual(0, c.file_id) c.go_first() self.assertEqual(0, c.pos) self.assertEqual(1, c.file_id) c.go(500) c.move_to(0) self.assertEqual(0, c.pos) self.assertEqual(500, c.file_id) c.go_next() self.assertEqual(1, c.pos) self.assertEqual(1, c.file_id) c.go_previous() c.go_previous() self.assertEqual(0, c.pos) self.assertEqual(500, c.file_id) # cases with last place c.go_last() self.assertEqual(999, c.pos) self.assertEqual(999, c.file_id) c.move_to(990) self.assertEqual(990, c.pos) self.assertEqual(999, c.file_id) c.go_last() self.assertEqual(999, c.pos) self.assertEqual(998, c.file_id) c.go_next() self.assertEqual(1000, c.pos) self.assertTrue(c.is_eol()) c.go_next() self.assertEqual(1000, c.pos) self.assertTrue(c.is_eol()) c.go_last() self.assertEqual(999, c.pos) self.assertEqual(998, c.file_id) c.go(995) c.move_to(999) self.assertEqual(999, c.pos) self.assertEqual(994, c.file_id) c.go_last() self.assertEqual(999, c.pos) self.assertEqual(994, c.file_id) c.go_next() self.assertEqual(1000, c.pos) self.assertTrue(c.is_eol()) c.go_previous() self.assertEqual(999, c.pos) self.assertEqual(994, c.file_id) # case with eol c.go(999) c.move_to(1000) self.assertEqual(999, c.pos) self.assertEqual(994, c.file_id) c.go_eol() c.move_to(700) self.assertEqual(1000, c.pos) self.assertTrue(c.is_eol()) c.go_previous() self.assertEqual(999, c.pos) self.assertEqual(994, c.file_id) c.go(700) self.assertEqual(700, c.pos) self.assertEqual(700, c.file_id) self.assertFalse(c.is_eol()) c.go_eol() self.assertEqual(1000, c.pos) self.assertTrue(c.is_eol()) c.go_previous() self.assertEqual(999, c.pos) self.assertEqual(994, c.file_id) c.go_eol() c.go_first() self.assertEqual(0, c.pos) self.assertEqual(500, c.file_id) c.go_eol() for i in range(3): c.go_next() self.assertEqual(1000, c.pos) self.assertTrue(c.is_eol()) app.stop()
def _test_navigate(self, app, *args): c = Cursor() c.set_implementation(MockCursor()) self.assertEqual(0, c.pos) c.go_next() self.assertEqual(1, c.pos) c.go_previous() self.assertEqual(0, c.pos) for i in range(5): c.go_next() self.assertEqual(5, c.pos) c.go_first() self.assertEqual(0, c.pos) c.go_previous() self.assertEqual(0, c.pos) c.go(200) self.assertEqual(200, c.pos) self.assertFalse(c.is_eol()) c.go_last() self.assertEqual(999, c.pos) c.go_next() self.assertTrue(c.is_eol()) self.assertEqual(1000, c.pos) c.go_next() self.assertTrue(c.is_eol()) self.assertEqual(1000, c.pos) c.go_previous() self.assertEqual(999, c.pos) c.go_eol() self.assertTrue(c.is_eol()) self.assertEqual(1000, c.pos) c.go_first() self.assertEqual(0, c.pos) self.assertFalse(c.is_eol()) c.go_eol() c.go_eol() self.assertTrue(c.is_eol()) self.assertEqual(1000, c.pos) c.go(500) self.assertEqual(500, c.pos) self.assertFalse(c.is_eol()) c.go(600) self.assertEqual(600, c.pos) self.assertFalse(c.is_eol()) c.go(-5) self.assertEqual(0, c.pos) self.assertFalse(c.is_eol()) c.go(1001) self.assertTrue(c.is_eol()) self.assertEqual(1000, c.pos) c.go(2000) self.assertTrue(c.is_eol()) self.assertEqual(1000, c.pos) c.go_first() c.go(2000) self.assertTrue(c.is_eol()) self.assertEqual(1000, c.pos) c.go_previous() self.assertEqual(999, c.pos) app.stop()