Exemple #1
0
 def setUp(self):
     Associate.registration = 0
     Associate.associates = []
     Movie.number = 0
     Movie.movies = []
     Copy.copies = []
     Rent.code = 0
     Rent.overdues = []
     Rent.rent_list = []
     self.associate1 = Associate("Beltrano Astrobaldo da Silva", "Av. pelinca, 245",
                             "22-88779966")
     self.associate2 = Associate("Bensocriol da Silva Sauro", "Rua dos Bobos, 0",
                             "22-23456789")
     self.director1 = Famous("Fulano M.", "Germany", datetime.date(1967, 06, 07))
     self.director2 = Famous("Edgar Wright", "England", datetime.date(1967, 05, 07))
     self.director3 = Famous("Abelardo D.", "Brazil", datetime.date(1967, 07, 07))
     self.actor1 = Famous("Michael C. Hall", "Brazil", datetime.date(1987, 06, 07))
     self.actor2 = Famous("Michael Cera", "Itally", datetime.date(1957, 06, 07))
     self.atriz1 = Famous("Julia Styles", "Germany", datetime.date(1967, 06, 07))
     self.atriz2 = Famous("Mary Elizabeth Winstead", "Itally", datetime.date(1987, 10, 07))
     self.atriz3 = Famous("Julia Ben", "Canada", datetime.date(1947, 06, 07))
     self.movie1 = Movie(1, "Dexter", 120, 1999, "Terror", self.director1.name, 
                     (self.atriz1.name, self.actor1.name), "21/05/2001")
     self.movie2 = Movie(2, "Scott Pilgrim Contra o Mundo", 112, 2010, "Acao",
                     self.director2.name, (self.actor2.name, self.atriz2.name),
                     "21/12/2010")
     self.movie3 = Movie(3, "Fix", 120, 1999, "Terror", self.director1.name,
                     (self.atriz3.name, self.actor1.name), "21/05/2001")
     self.movie4 = Movie(4, "This Ones", 120, 1999, "Terror", self.director3.name,
                     (self.atriz1.name, self.actor1.name), "21/05/2001")
     self.copy1 = Copy(1, self.movie1.number, "bom")
     self.copy2 = Copy(2, self.movie2.number, "bom")
     self.copy3 = Copy(3, self.movie3.number, "bom")
     self.copy4 = Copy(21, self.movie1.number, "mau")
     self.copy5 = Copy(22, self.movie1.number, "mau")
     self.copy6 = Copy(23, self.movie1.number, "bom")
     self.copy7 = Copy(31, self.movie2.number, "bom")
     self.copy8 = Copy(32, self.movie2.number, "mau")
     self.copy9 = Copy(5, self.movie4.number, "bom")
     self.rent1 = Rent(1, self.associate1.registration, self.copy1.concine_code,
             datetime.datetime(2011, 05, 20, 14, 20))
     self.rent1.close(datetime.datetime(2011, 05, 22, 14, 20))
     self.rent2 = Rent(2, self.associate1.registration, self.copy2.concine_code,
             datetime.datetime(2011, 05, 20, 14, 20))
     self.rent2.close(datetime.datetime(2011, 05, 22, 14, 20))
     self.rent3 = Rent(3, self.associate1.registration, self.copy3.concine_code,
             datetime.datetime(2011, 05, 20, 14, 20))
     self.rent3.close(datetime.datetime(2011, 05, 22, 14, 20))
     self.rent4 = Rent(4, self.associate2.registration, self.copy6.concine_code,
             datetime.datetime(2011, 05, 20, 14, 30))
     self.rent4.close(datetime.datetime(2011, 05, 24, 14, 30))
     self.rent5 = Rent(5, self.associate2.registration, self.copy7.concine_code,
             datetime.datetime(2011, 05, 20, 14, 30))
     self.rent5.close(datetime.datetime(2011, 05, 22, 14, 30))
Exemple #2
0
 def test_view_rents(self):
     rents = Rent.view_all()
     rents.sort() |should| equal_to([
                             [1, datetime.datetime(2011, 5, 20, 14, 20),
                                 datetime.datetime(2011, 5, 22, 14, 20), 3.0],
                             [1, datetime.datetime(2011, 5, 20, 14, 20),
                                 datetime.datetime(2011, 5, 22, 14, 20), 3.0],
                             [1, datetime.datetime(2011, 5, 20, 14, 20),
                                 datetime.datetime(2011, 5, 22, 14, 20), 3.0],
                             [2, datetime.datetime(2011, 5, 20, 14, 30),
                                 datetime.datetime(2011, 5, 24, 14, 30), 4.0],
                             [2, datetime.datetime(2011, 5, 20, 14, 30),
                                 datetime.datetime(2011, 5, 22, 14, 30), 3.0]
                             ].sort())
Exemple #3
0
class TestVideoClub(unittest.TestCase):

    def setUp(self):
        Associate.registration = 0
        Associate.associates = []
        Movie.number = 0
        Movie.movies = []
        Copy.copies = []
        Rent.code = 0
        Rent.overdues = []
        Rent.rent_list = []
        self.associate1 = Associate("Beltrano Astrobaldo da Silva", "Av. pelinca, 245",
                                "22-88779966")
        self.associate2 = Associate("Bensocriol da Silva Sauro", "Rua dos Bobos, 0",
                                "22-23456789")
        self.director1 = Famous("Fulano M.", "Germany", datetime.date(1967, 06, 07))
        self.director2 = Famous("Edgar Wright", "England", datetime.date(1967, 05, 07))
        self.director3 = Famous("Abelardo D.", "Brazil", datetime.date(1967, 07, 07))
        self.actor1 = Famous("Michael C. Hall", "Brazil", datetime.date(1987, 06, 07))
        self.actor2 = Famous("Michael Cera", "Itally", datetime.date(1957, 06, 07))
        self.atriz1 = Famous("Julia Styles", "Germany", datetime.date(1967, 06, 07))
        self.atriz2 = Famous("Mary Elizabeth Winstead", "Itally", datetime.date(1987, 10, 07))
        self.atriz3 = Famous("Julia Ben", "Canada", datetime.date(1947, 06, 07))
        self.movie1 = Movie(1, "Dexter", 120, 1999, "Terror", self.director1.name, 
                        (self.atriz1.name, self.actor1.name), "21/05/2001")
        self.movie2 = Movie(2, "Scott Pilgrim Contra o Mundo", 112, 2010, "Acao",
                        self.director2.name, (self.actor2.name, self.atriz2.name),
                        "21/12/2010")
        self.movie3 = Movie(3, "Fix", 120, 1999, "Terror", self.director1.name,
                        (self.atriz3.name, self.actor1.name), "21/05/2001")
        self.movie4 = Movie(4, "This Ones", 120, 1999, "Terror", self.director3.name,
                        (self.atriz1.name, self.actor1.name), "21/05/2001")
        self.copy1 = Copy(1, self.movie1.number, "bom")
        self.copy2 = Copy(2, self.movie2.number, "bom")
        self.copy3 = Copy(3, self.movie3.number, "bom")
        self.copy4 = Copy(21, self.movie1.number, "mau")
        self.copy5 = Copy(22, self.movie1.number, "mau")
        self.copy6 = Copy(23, self.movie1.number, "bom")
        self.copy7 = Copy(31, self.movie2.number, "bom")
        self.copy8 = Copy(32, self.movie2.number, "mau")
        self.copy9 = Copy(5, self.movie4.number, "bom")
        self.rent1 = Rent(1, self.associate1.registration, self.copy1.concine_code,
                datetime.datetime(2011, 05, 20, 14, 20))
        self.rent1.close(datetime.datetime(2011, 05, 22, 14, 20))
        self.rent2 = Rent(2, self.associate1.registration, self.copy2.concine_code,
                datetime.datetime(2011, 05, 20, 14, 20))
        self.rent2.close(datetime.datetime(2011, 05, 22, 14, 20))
        self.rent3 = Rent(3, self.associate1.registration, self.copy3.concine_code,
                datetime.datetime(2011, 05, 20, 14, 20))
        self.rent3.close(datetime.datetime(2011, 05, 22, 14, 20))
        self.rent4 = Rent(4, self.associate2.registration, self.copy6.concine_code,
                datetime.datetime(2011, 05, 20, 14, 30))
        self.rent4.close(datetime.datetime(2011, 05, 24, 14, 30))
        self.rent5 = Rent(5, self.associate2.registration, self.copy7.concine_code,
                datetime.datetime(2011, 05, 20, 14, 30))
        self.rent5.close(datetime.datetime(2011, 05, 22, 14, 30))

    def test_add_associates(self):
        self.associate1.name |should| equal_to("Beltrano Astrobaldo da Silva")
        self.associate1.adress |should| equal_to("Av. pelinca, 245")
        self.associate1.phone |should| equal_to("22-88779966")
        self.associate1.registration |should| equal_to(1)
        self.associate2.name |should| equal_to("Bensocriol da Silva Sauro")
        self.associate2.adress |should| equal_to("Rua dos Bobos, 0")
        self.associate2.phone |should| equal_to("22-23456789")
        self.associate2.registration |should| equal_to(2)

    def test_add_famous(self):
        self.director1.name |should| equal_to("Fulano M.")
        self.director1.country |should| equal_to("Germany")
        self.director1.birth_date |should| equal_to(datetime.date(1967, 06, 07))
        self.director2.name |should| equal_to("Edgar Wright")
        self.director2.country |should| equal_to("England")
        self.director2.birth_date |should| equal_to(datetime.date(1967, 05, 07))
        self.director3.name |should| equal_to("Abelardo D.")
        self.director3.country |should| equal_to("Brazil")
        self.director3.birth_date |should| equal_to(datetime.date(1967, 07, 07))
        self.actor1.name |should| equal_to("Michael C. Hall")
        self.actor1.country |should| equal_to("Brazil")
        self.actor1.birth_date |should| equal_to(datetime.date(1987, 06, 07))
        self.actor2.name |should| equal_to("Michael Cera")
        self.actor2.country |should| equal_to("Itally")
        self.actor2.birth_date |should| equal_to(datetime.date(1957, 06, 07))
        self.atriz1.name |should| equal_to("Julia Styles")
        self.atriz1.country |should| equal_to("Germany")
        self.atriz1.birth_date |should| equal_to(datetime.date(1967, 06, 07))
        self.atriz2.name |should| equal_to("Mary Elizabeth Winstead")
        self.atriz2.country |should| equal_to("Itally")
        self.atriz2.birth_date |should| equal_to(datetime.date(1987, 10, 07))
        self.atriz3.name |should| equal_to("Julia Ben")
        self.atriz3.country |should| equal_to("Canada")
        self.atriz3.birth_date |should| equal_to(datetime.date(1947, 06, 07))


    def test_add_movies(self):
        self.movie1.title |should| equal_to("Dexter")
        self.movie1.length |should| equal_to(120)
        self.movie1.year |should| equal_to(1999)
        self.movie1.genre |should| equal_to("Terror")
        self.movie1.director |should| equal_to(self.director1.name)
        self.movie1.actors |should| equal_to((self.atriz1.name, self.actor1.name))
        self.movie1.acquisition_date |should| equal_to("21/05/2001")
        self.movie1.number |should| equal_to(1)
        self.movie2.number |should| equal_to(2)
        self.movie2.title |should| equal_to("Scott Pilgrim Contra o Mundo")
        self.movie2.length |should| equal_to(112)
        self.movie2.year |should| equal_to(2010)
        self.movie2.genre |should| equal_to("Acao")
        self.movie2.director |should| equal_to(self.director2.name)
        self.movie2.actors |should| equal_to((self.actor2.name, self.atriz2.name))
        self.movie2.acquisition_date |should| equal_to("21/12/2010")
        self.movie3.number |should| equal_to(3)
        self.movie3.title |should| equal_to("Fix")
        self.movie3.length |should| equal_to(120)
        self.movie3.year |should| equal_to(1999)
        self.movie3.genre |should| equal_to("Terror")
        self.movie3.director |should| equal_to(self.director1.name)
        self.movie3.actors |should| equal_to((self.atriz3.name, self.actor1.name))
        self.movie3.acquisition_date |should| equal_to("21/05/2001")
        self.movie4.number |should| equal_to(4)
        self.movie4.title |should| equal_to("This Ones")
        self.movie4.length |should| equal_to(120)
        self.movie4.year |should| equal_to(1999)
        self.movie4.genre |should| equal_to("Terror")
        self.movie4.director |should| equal_to(self.director3.name)
        self.movie4.actors |should| equal_to((self.atriz1.name, self.actor1.name))
        self.movie4.acquisition_date |should| equal_to("21/05/2001")

    def test_add_copies(self):
        self.copy1.concine_code |should| equal_to(1)
        self.copy1.movie_code |should| equal_to(self.movie1.number)
        self.copy1.quality |should| equal_to("bom")
        self.copy2.concine_code |should| equal_to(2)
        self.copy2.movie_code |should| equal_to(self.movie2.number)
        self.copy2.quality |should| equal_to("bom")
        self.copy3.concine_code |should| equal_to(3)
        self.copy3.movie_code |should| equal_to(self.movie3.number)
        self.copy3.quality |should| equal_to("bom")
        self.copy4.concine_code |should| equal_to(21)
        self.copy4.movie_code |should| equal_to(self.movie1.number)
        self.copy4.quality |should| equal_to("mau")
        self.copy5.concine_code |should| equal_to(22)
        self.copy5.movie_code |should| equal_to(self.movie1.number)
        self.copy5.quality |should| equal_to("mau")
        self.copy6.concine_code |should| equal_to(23)
        self.copy6.movie_code |should| equal_to(self.movie1.number)
        self.copy6.quality |should| equal_to("bom")
        self.copy7.concine_code |should| equal_to(31)
        self.copy7.movie_code |should| equal_to(self.movie2.number)
        self.copy7.quality |should| equal_to("bom")
        self.copy8.concine_code |should| equal_to(32)
        self.copy8.movie_code |should| equal_to(self.movie2.number)
        self.copy8.quality |should| equal_to("mau")
        self.copy9.concine_code |should| equal_to(5)
        self.copy9.movie_code |should| equal_to(self.movie4.number)
        self.copy9.quality |should| equal_to("bom")

    def test_rent_copy(self):
        self.rent1.code |should| equal_to(1)
        self.rent1.associate_registration |should| equal_to(self.associate1.registration)
        self.rent1.copy_concine_code |should| equal_to(self.copy1.concine_code)
        self.rent1.rent_date |should| equal_to(datetime.datetime(2011, 05, 20, 14, 20))
        self.rent2.code |should| equal_to(2)
        self.rent2.associate_registration |should| equal_to(self.associate1.registration)
        self.rent2.copy_concine_code |should| equal_to(self.copy2.concine_code)
        self.rent2.rent_date |should| equal_to(datetime.datetime(2011, 05, 20, 14, 20))
        self.rent3.code |should| equal_to(3)
        self.rent3.associate_registration |should| equal_to(self.associate1.registration)
        self.rent3.copy_concine_code |should| equal_to(self.copy3.concine_code)
        self.rent3.rent_date |should| equal_to(datetime.datetime(2011, 05, 20, 14, 20))
        self.rent4.code |should| equal_to(4)
        self.rent4.associate_registration |should| equal_to(self.associate2.registration)
        self.rent4.copy_concine_code |should| equal_to(self.copy6.concine_code)
        self.rent4.rent_date |should| equal_to(datetime.datetime(2011, 05, 20, 14, 30))
        self.rent5.code |should| equal_to(5)
        self.rent5.associate_registration |should| equal_to(self.associate2.registration)
        self.rent5.copy_concine_code |should| equal_to(self.copy7.concine_code)
        self.rent5.rent_date |should| equal_to(datetime.datetime(2011, 05, 20, 14, 30))

    def test_return_copy(self):
        self.rent1.close_date |should| equal_to(datetime.datetime(2011, 05, 22, 14, 20))
        self.rent1.value |should| equal_to(3.00)
        self.rent2.close_date |should| equal_to(datetime.datetime(2011, 05, 22, 14, 20))
        self.rent2.value |should| equal_to(3.00)
        self.rent3.close_date |should| equal_to(datetime.datetime(2011, 05, 22, 14, 20))
        self.rent3.value |should| equal_to(3.00)
        self.rent5.close_date |should| equal_to(datetime.datetime(2011, 05, 22, 14, 30))
        self.rent5.value |should| equal_to(3.00)

    def test_return_delayed(self):
        self.rent4.close_date |should| equal_to(datetime.datetime(2011, 05, 24, 14, 30))
        self.rent4.value |should| equal_to(4.00)

    def test_view_rents(self):
        rents = Rent.view_all()
        rents.sort() |should| equal_to([
                                [1, datetime.datetime(2011, 5, 20, 14, 20),
                                    datetime.datetime(2011, 5, 22, 14, 20), 3.0],
                                [1, datetime.datetime(2011, 5, 20, 14, 20),
                                    datetime.datetime(2011, 5, 22, 14, 20), 3.0],
                                [1, datetime.datetime(2011, 5, 20, 14, 20),
                                    datetime.datetime(2011, 5, 22, 14, 20), 3.0],
                                [2, datetime.datetime(2011, 5, 20, 14, 30),
                                    datetime.datetime(2011, 5, 24, 14, 30), 4.0],
                                [2, datetime.datetime(2011, 5, 20, 14, 30),
                                    datetime.datetime(2011, 5, 22, 14, 30), 3.0]
                                ].sort())

    def test_find_movies_by_actor(self):
        search = Movie.search(self.atriz1.name)
        search |should| equal_to(['Dexter', 'This Ones'])
        search = Movie.search("July Styles")
        search |should| equal_to([])

    def test_find_movies_by_genre(self):
        search = Movie.search("Terror")
        search |should| equal_to(['Dexter', 'Fix', 'This Ones'])
        search = Movie.search("Lapela")
        search |should| equal_to([])

    def test_find_movies_by_director(self):
        search = Movie.search(self.director1.name)
        search |should| equal_to(['Dexter', 'Fix'])
        search = Movie.search("Brasil")
        search |should| equal_to([])

    def test_list_of_movies(self):
        movies = Movie.list_all()
        movies |should| equal_to({'Dexter': 4, 'Scott Pilgrim Contra o Mundo': 3,
                                    'This Ones': 1, 'Fix': 1})

    def test_bad_copies(self):
        bad_copies = Copy.list_bad_copies()
        bad_copies.sort() |should| equal_to([("Dexter", 2, (21,22)),
                                            ("Scott Pilgrim Contra o Mundo", 1,
                                                (32))].sort())

    def test_associate_with_delays(self):
        overdues_associates = Associate.list_overdue_associates()
        overdues_associates |should| equal_to({'Bensocriol da Silva Sauro': [4]})