def test_add_cds(self): cd_1 = Cd(1, "Insert Disc", False) cd_2 = Cd(2, "Eject Disc", False) self.cd_rental.add_cd(cd_1) self.cd_rental.add_cd(cd_2) self.assertEqual(len(self.cd_rental.cds), 2)
def rental_contract_printed(step): cd = Cd("Breaking Bad", "name dammit", False) customer = Customer("Jones", 0) cd_rental = Cd_rental() cd_rental.add_customer(customer) cd_rental.add_cd(cd) cd_rental.check_out("Jones", "Breaking Bad") assert_equal(cd_rental.print_contract("Jones", "Breaking Bad"), (0, 'name dammit'))
def then_cd_recorded_as_rented(step): cd = Cd("Fall", "name", False) customer = Customer("James", 0) cd_rental = Cd_rental() cd_rental.add_customer(customer) cd_rental.add_cd(cd) cd_rental.check_out("James", "Fall") assert_equal(cd_rental.get_rented_if("Fall"), True) assert_equal(cd_rental.check_customer_id("James", 1), {'Fall': True})
def test_print_contract(self): customer = Customer(1, "James") cd = Cd("Breaking Bad", "Insert Disc", False) self.cd_rental.add_customer(customer) self.cd_rental.add_cd(cd) self.cd_rental.check_out(1, "Breaking Bad") self.assertEqual(self.cd_rental.print_contract(1, "Breaking Bad"), ("James", "Insert Disc"))
def test_record_rented(self): customer = Customer(1, "James") cd = Cd(1, "Insert Disc", False) self.cd_rental.add_cd(cd) self.cd_rental.add_customer(customer) self.cd_rental.check_out(1, 1) self.assertEqual(self.cd_rental.check_customer_id(1, 1), {1: True}) self.assertEqual(self.cd_rental.get_rented_if(001), True)
def test_violate_business_rules(self): customer = Customer(1, "James") customer2 = Customer(2, "John") cd1 = Cd(1, "Insert Disc", False) cd2 = Cd(2, "Insert Disc", False) cd3 = Cd(3, "Insert Disc", False) cd4 = Cd(4, "Insert Disc", False) self.cd_rental.add_cd(cd1) self.cd_rental.add_cd(cd2) self.cd_rental.add_cd(cd3) self.cd_rental.add_cd(cd4) self.cd_rental.add_customer(customer) self.cd_rental.add_customer(customer2) self.cd_rental.check_out(1, 4) self.cd_rental.check_out(1, 1) self.cd_rental.check_out(1, 2) self.assertEqual(self.cd_rental.check_out(1, 3), "Violated CD Rental Limit business rule") self.assertEqual(self.cd_rental.customers.get(2), {}) self.assertEqual(self.cd_rental.customers.get(23), None)
def test_get_rented(self): cd_1 = Cd(1, "Insert Disc", False) self.cd_rental.add_cd(cd_1) self.assertEqual(self.cd_rental.get_rented_if(0001), False)
def when_clerk_checks_out_cd(step): cd = Cd("Arch Age", "some freaking name", False) customer = Customer("Jane", 0) cd_rental = Cd_rental() cd_rental.add_customer(customer) cd_rental.check_out(customer, cd)
def given_cd_is_not_currently_rented(step): cd = Cd("Dawn Age", "some name", False) cd_rental = Cd_rental() cd_rental.add_cd(cd) assert_equal(cd_rental.get_rented_if("Dawn Age"), False)
def given_cd_has_id(step): cd = Cd("Hunger Names", "some name", False) cd_rental = Cd_rental() cd_rental.add_cd(cd) assert_equal(cd_rental.get_rented_if("Hunger Names"), False)
def test_cd_object_can_be_created(self): cd = Cd(1, "Insert Disc", False) self.assertEqual(cd.cd_id, 1) self.assertEqual(cd.rented, False)