def __test_repo(): """ Function to test repository :return: """ val = BookValidator() repo = Repository(val) b = Book("Ion", "Liviu Rebreanu", "Drama", 1912) b.set_id(0) repo.store_book(b) assert len(repo.get_all()) == 1 b.set_id(2) repo.store_book(b) assert len(repo.get_all()) == 2 assert repo.search_book(1) is not None assert repo.search_book(2) is None assert repo.delete_book(1) is not None assert repo.delete_book(1) is None b.set_id(2) repo.store_book(b) assert len(repo.get_all()) == 2 b.set_year(2018) assert repo.update_book(1, b) is not None assert repo.update_book(2, b) is None b1 = repo.search_book(1) assert b1.get_year() == 2018 try: repo.store_book(b) assert False except RepositoryException: assert True
class MyTestCase(unittest.TestCase): def setUp(self): self.repo = Repository('test_repo.txt', Question.read_line, Question.write_line) self.q1 = Question(1, 'text', 3, 4, 3, 4, 'easy') def test_something(self): self.assertEqual(self.repo.size(), 1) self.assertRaises(RepositoryException, self.repo.store_question, self.q1) self.assertEqual(len(self.repo.get_all()), 1)
class TestRepository(unittest.TestCase): def setUp(self): super().setUp() self.__repository = Repository(PersonValidator) def test_find_by_id(self): p = Person(1, "John", "0756705316", "street 1") self.__repository.save(p) self.assertEqual(self.__repository.find_by_id(1), p, "find_by_id(1) should be equal to p") self.assertEqual(self.__repository.find_by_id(2), None, "find_by_id(2) should be equal to None") def test_save(self): p = Person(1, "John", "0756705316", "street 1") self.__repository.save(p) # check if the size of the repository has changed self.assertEqual(len(self.__repository.get_all()), 1, "repository length should be 1") p2 = Person(1, "John1", "0756705415", "street 2") # check for DuplicateIdException self.assertRaises(DuplicateIdException, self.__repository.save, p2) # check for ValidatorException p3 = Person("invalid", 123, "00", 12) self.assertRaises(RepositoryException, self.__repository.save, p3) def test_update(self): p = Person(1, "John", "0756705316", "street 1") self.__repository.save(p) p2 = Person(1, "John1", "0000000000", "street2") self.__repository.update(p2) self.assertEqual(self.__repository.find_by_id(1), p2, "find_by_id(1) should be equal to p2") p3 = Person("Invalid", 12341, 131, 131) self.assertRaises(RepositoryException, self.__repository.update, p3) p4 = Person(5, "Inexistent", "0000000000", "street 5") self.assertRaises(IdNotFoundException, self.__repository.update, p4) def test_delete_by_id(self): p = Person(1, "John", "0756705316", "street 1") self.__repository.save(p) self.__repository.delete_by_id(p.entity_id) self.assertEqual(len(self.__repository.get_all()), 0, "repository size should be 0") self.assertRaises(IdNotFoundException, self.__repository.delete_by_id, 100) def test_get_all(self): p = Person(1, "John", "0756705316", "street 1") self.__repository.save(p) self.assertEqual(len(self.__repository.get_all()), 1, "repository size should be 1")