public void RentABikeToAFamilyOf3() { var rentalsList = new List <Rental>(); var bike1 = new Bike(); var person1 = new Person(); var rental1 = _repo.RentABikePerHour(bike1, person1, 4); rentalsList.Add(rental1); var bike2 = new Bike(); var person2 = new Person(); var rental2 = _repo.RentABikePerDay(bike2, person2, 1); rentalsList.Add(rental2); var bike3 = new Bike(); var person3 = new Person(); var rental3 = _repo.RentABikePerWeek(bike3, person3, 1); rentalsList.Add(rental3); var familyRental = _repo.AddToAFamilyRental(rentalsList); Assert.AreEqual(3, _repo.GetRentalsCount()); Assert.AreSame(familyRental, rental1.FamilyRental); Assert.AreSame(familyRental, rental2.FamilyRental); Assert.AreSame(familyRental, rental3.FamilyRental); Assert.AreEqual(70, familyRental.GetTotalChargeWithDiscount()); }