def test_movie_world_rent_dvd_already_rented(self):
     movie_world = MovieWorld("Test")
     d = DVD("A", 1, 1254, "February", 10)
     c = Customer("Pesho", 20, 4)
     c2 = Customer("Gosho", 26, 2)
     movie_world.add_customer(c)
     movie_world.add_customer(c2)
     movie_world.add_dvd(d)
     movie_world.rent_dvd(4, 1)
     result = movie_world.rent_dvd(2, 1)
     self.assertEqual(result, "DVD is already rented")
 def test_movie_world_rent_dvd_no_permision(self):
     movie_world = MovieWorld("Test")
     d = DVD("A", 1, 1254, "February", 18)
     c = Customer("Pesho", 16, 4)
     movie_world.add_customer(c)
     movie_world.add_dvd(d)
     result = movie_world.rent_dvd(4, 1)
     self.assertEqual(result, "Pesho should be at least 18 to rent this movie")
 def test_movie_world_return_dvd_unsuccessful(self):
     movie_world = MovieWorld("Test")
     d = DVD("A", 1, 1254, "February", 10)
     c = Customer("Pesho", 20, 4)
     movie_world.add_customer(c)
     movie_world.add_dvd(d)
     result = movie_world.return_dvd(4, 1)
     self.assertEqual(result, "Pesho does not have that DVD")
 def test_movie_world_rent_dvd_already_rented_by_user(self):
     movie_world = MovieWorld("Test")
     d = DVD("A", 1, 1254, "February", 10)
     c = Customer("Pesho", 20, 4)
     movie_world.add_customer(c)
     movie_world.add_dvd(d)
     movie_world.rent_dvd(4, 1)
     result = movie_world.rent_dvd(4, 1)
     self.assertEqual(result, "Pesho has already rented A")
 def test_movie_world_repr(self):
     movie_world = MovieWorld("Test")
     d = DVD("A", 1, 1254, "February", 10)
     c = Customer("Pesho", 20, 4)
     movie_world.add_customer(c)
     movie_world.add_dvd(d)
     movie_world.rent_dvd(4, 1)
     actual = repr(movie_world).strip('\n')
     expected = "4: Pesho of age 20 has 1 rented DVD's (A)\n1: A (February 1254) has age restriction 10. Status: rented"
     self.assertEqual(actual, expected)
 def test_movie_world_rent_dvd_success(self):
     movie_world = MovieWorld("Test")
     d = DVD("A", 1, 1254, "February", 10)
     c = Customer("Pesho", 20, 4)
     movie_world.add_customer(c)
     movie_world.add_dvd(d)
     result = movie_world.rent_dvd(4, 1)
     self.assertEqual(result, "Pesho has successfully rented A")
     self.assertEqual(d.is_rented, True)
     self.assertEqual(c.rented_dvds[0], d)
 def test_customer_init(self):
     c = Customer("Pesho", 22, 1)
     self.assertEqual(c.name, "Pesho")
     self.assertEqual(c.age, 22)
     self.assertEqual(c.id, 1)
 def test_movie_world_add_customer_overflow(self):
     movie_world = MovieWorld("Test")
     for _ in range(11):
         movie_world.add_customer(Customer("Pesho", 20, 4))
     self.assertEqual(len(movie_world.customers), 10)
 def test_movie_world_add_customer_success(self):
     movie_world = MovieWorld("Test")
     c = Customer("Pesho", 20, 4)
     movie_world.add_customer(c)
     self.assertEqual(movie_world.customers, [c])
 def test_customer_repr(self):
     c = Customer("Pesho", 22, 1)
     self.assertEqual(repr(c), "1: Pesho of age 22 has 0 rented DVD's ()")