class TodoListTester(unittest.TestCase): def setUp(self): self.todo = TodoList() def tearDown(self): del self.todo def test_add(self): args = ArgumentHolder(todo='Hello World') self.todo.add(args) self.assertEqual(self.todo.get(0), 'Hello World') def test_find_uses_digits(self): args = ArgumentHolder(todo='Hello World') self.todo.add(args) self.todo.add(args) self.assertEqual(self.todo.find('1'), 1) def test_find_by_digits_clamps(self): self.assertEqual(self.todo.find('2'), -1) def test_find_uses_string(self): args = ArgumentHolder(todo='Abc') self.todo.add(args) self.assertEqual(self.todo.find('Abc'), 0) def test_fuzzy_find(self): args = ArgumentHolder(todo='A Very Long String') self.todo.add(args) self.assertEqual(self.todo.find('very'), 0) def test_list(self): args = ArgumentHolder() self.assertEqual(self.todo.list_all(args), '') args = ArgumentHolder(todo='Hello World') self.todo.add(args) self.assertEqual(self.todo.list_all(args), 'Hello World') self.todo.add(args) self.assertEqual(self.todo.list_all(args), '{0:s}\n{0:s}'.format('Hello World')) def test_move_by_string(self): for s in ['a', 'b', 'c']: args = ArgumentHolder(todo=s) self.todo.add(args) args = ArgumentHolder(todo='c', new_location=0) self.todo.move(args) self.assertEqual(self.todo.find('c'), 0) def test_move_by_id(self): for s in ['a', 'b', 'c']: args = ArgumentHolder(todo=s) self.todo.add(args) args = ArgumentHolder(todo='2', new_location=0) self.todo.move(args) self.assertEqual(self.todo.find('c'), 0)
class TodoListTester(unittest.TestCase): def setUp(self): self.todo = TodoList() def tearDown(self): del self.todo def test_add(self): item = 'Hello World' self.todo.add(item) self.assertEqual(self.todo.get(0), item) def test_find(self): item1 = 'ABCD' item2 = 'WXYZ' self.assertEqual(self.todo.find(item1), -1) for i in xrange(10): self.todo.add(item1) self.todo.add(item2) for i in xrange(10): self.todo.add(item1) self.assertEqual(self.todo.find(item2), 10) self.assertEqual(self.todo.find(item2[:2]), 10) self.assertEqual(self.todo.find(item2[1:3]), 10) self.assertEqual(self.todo.find(item2[2:]), 10) self.assertEqual(self.todo.find(item2.lower()), 10) def test_get_by_id(self): item = 'abcdefg' self.todo.add(item) self.assertEqual(self.todo.get(0), item) def test_complete_by_string(self): item = 'Hello World' self.todo.add(item) self.todo.complete(item) self.assertEqual(self.todo.find(item), -1) def test_complete_by_id(self): item = 'Hello World' self.todo.add(item) self.todo.complete(0) self.assertEqual(self.todo.find(item), -1) def test_list(self): self.assertEqual(self.todo.list_all(), '') item = 'Hello World' self.todo.add(item) self.assertEqual(self.todo.list_all(), item) self.todo.add(item) self.assertEqual(self.todo.list_all(), '{0:s}\n{0:s}'.format(item)) def test_move_by_string(self): for s in ['a', 'b', 'c']: self.todo.add(s) self.todo.move(0, 'c') self.assertEqual(self.todo.find('c'), 0) def test_move_by_id(self): for s in ['a', 'b', 'c']: self.todo.add(s) self.todo.move(0, 2) self.assertEqual(self.todo.find('c'), 0)