コード例 #1
0
    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
コード例 #2
0
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)
コード例 #3
0
ファイル: test_repository.py プロジェクト: TamasFlorin/UBB
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")