public void Building_Gives_Correct_Area_If_Apartment_Exists() { var targetApartment = new ChargeApartment { ApartmentId = 2, Area = 120 }; var building = new ChargeBuilding { BuildingId = 1, Apartments = new List <ChargeApartment> { new ChargeApartment { ApartmentId = 1, Area = 100 }, new ChargeApartment { ApartmentId = 2, Area = 120 }, new ChargeApartment { ApartmentId = 1, Area = 300 }, } }; decimal area = -1; Console.WriteLine(area); Assert.DoesNotThrow(() => area = building.GetApartmentArea(targetApartment.ApartmentId)); Console.WriteLine(targetApartment.Area); Assert.AreEqual(area, targetApartment.Area); }
public void Aaprtment_Can_Find_Payers_In_A_Interval() { var apartment = new ChargeApartment { ApartmentId = 1, Area = 1000, Payers = new List <Payer> { new Payer { IsOwner = false, From = DateTime.Now.AddDays(-30), To = DateTime.Now.AddDays(-15), OccupantCount = 3, PersonId = 1 }, new Payer { IsOwner = false, From = DateTime.Now.AddDays(-60), To = DateTime.Now.AddDays(-40), OccupantCount = 1, PersonId = 2 }, new Payer { IsOwner = false, From = DateTime.Now.AddDays(-25), To = DateTime.Now.AddDays(10), OccupantCount = 5, PersonId = 3 }, } }; var payers = apartment.GetPayerResisdenceInfo(DateTime.Now.AddDays(-20), DateTime.Now.AddDays(5)); Assert.AreEqual(payers.Count(), 2); Assert.NotNull(payers.FirstOrDefault()); Assert.IsTrue(payers.Any(c => c.PayerId == 3)); Assert.IsTrue(payers.Any(c => c.PayerId == 1)); Assert.IsTrue(payers.Any(c => c.DaysLived == 4)); Assert.IsTrue(payers.Any(c => c.DaysLived == 25)); }