def test_points_for_regular_movies(self): self.assertEqual(1, MovieBuilder(movietype=TYPE_REGULAR).build().get_points(1)) self.assertEqual(1, MovieBuilder(movietype=TYPE_REGULAR).build().get_points(2)) self.assertEqual(1, MovieBuilder(movietype=TYPE_REGULAR).build().get_points(3))
def test_points_for_children_movies(self): self.assertEqual(1, MovieBuilder(movietype=TYPE_CHILDREN).build().get_points(1)) self.assertEqual(1, MovieBuilder(movietype=TYPE_CHILDREN).build().get_points(2)) self.assertEqual(1, MovieBuilder(movietype=TYPE_CHILDREN).build().get_points(3))
def test_points_for_new_release_movies(self): self.assertEqual(1, MovieBuilder(movietype=TYPE_NEW_RELEASE).build().get_points(1)) self.assertEqual(2, MovieBuilder(movietype=TYPE_NEW_RELEASE).build().get_points(2)) self.assertEqual(2, MovieBuilder(movietype=TYPE_NEW_RELEASE).build().get_points(3)) self.assertEqual(2, MovieBuilder(movietype=TYPE_NEW_RELEASE).build().get_points(4))
def test_charge_for_new_release_movies(self): self.assertEqual(3.0, MovieBuilder(movietype=TYPE_NEW_RELEASE).build().get_charge(1)) self.assertEqual(6.0, MovieBuilder(movietype=TYPE_NEW_RELEASE).build().get_charge(2)) self.assertEqual(9.0, MovieBuilder(movietype=TYPE_NEW_RELEASE).build().get_charge(3)) self.assertEqual(12.0, MovieBuilder(movietype=TYPE_NEW_RELEASE).build().get_charge(4))
def test_charge_for_regular_movies(self): self.assertEqual(2.0, MovieBuilder(movietype=TYPE_REGULAR).build().get_charge(1)) self.assertEqual(2.0, MovieBuilder(movietype=TYPE_REGULAR).build().get_charge(2)) self.assertEqual(3.5, MovieBuilder(movietype=TYPE_REGULAR).build().get_charge(3)) self.assertEqual(5.0, MovieBuilder(movietype=TYPE_REGULAR).build().get_charge(4)) self.assertEqual(6.5, MovieBuilder(movietype=TYPE_REGULAR).build().get_charge(5))
def test_charge_for_children_movies(self): self.assertEqual(1.5, MovieBuilder(movietype=TYPE_CHILDREN).build().get_charge(1)) self.assertEqual(1.5, MovieBuilder(movietype=TYPE_CHILDREN).build().get_charge(2)) self.assertEqual(1.5, MovieBuilder(movietype=TYPE_CHILDREN).build().get_charge(3)) self.assertEqual(3.0, MovieBuilder(movietype=TYPE_CHILDREN).build().get_charge(4)) self.assertEqual(4.5, MovieBuilder(movietype=TYPE_CHILDREN).build().get_charge(5))
def test_rental_does_not_start_if_not_available(self): movie = MovieBuilder().build() rental = RentalBuilder(movie=movie).build() store = StoreBuilder().build() rental.start(store) self.assertFalse(rental.is_started()) self.assertEqual(store.get_availability(movie), 0)
def test_rental_is_started_if_in_store(self): movie = MovieBuilder().build() rental = RentalBuilder(movie=movie).build() store = StoreBuilder(movie=movie).build() rental.start(store) self.assertTrue(rental.is_started()) self.assertEqual(store.get_availability(movie), 0)
def test_rental_is_started_if_in_store(self): movie = MovieBuilder().build() rental = RentalBuilder(movie=movie).build() store = Mock(spec_set=Store) store.configure_mock(**{'get_availability.return_value': 1}) rental.start(store) self.assertTrue(rental.is_started()) store.check_out.assert_called_with(movie)
def test_rental_does_not_start_if_not_available(self): movie = MovieBuilder().build() rental = RentalBuilder(movie=movie).build() store = Mock(spec_set=Store) store.configure_mock(**{'get_availability.return_value': 0}) rental.start(store) self.assertFalse(rental.is_started()) store.check_out.assert_not_called() pass
def test_charge_for_new_release_4_day(self): self.assertEqual( 12.0, MovieBuilder(movietype=TYPE_NEW_RELEASE).build().get_charge(4))
def test_charge_for_children_5_day(self): self.assertEqual( 4.5, MovieBuilder(movietype=TYPE_CHILDREN).build().get_charge(5))
def test_invalid_title(self): with self.assertRaises(TypeError): MovieBuilder(movietype=TYPE_UNKNOWN).build()