public void ReturnsWarrantyInfo_WhenWithinMonthOfLifeLimit() { var vehicleLookup = new Mock <IVehicleLookup>(MockBehavior.Strict); var older = new Vehicle(regNumber: "FO10RD1", "Ford", dateOfFirstReg: new DateTime(2010, 03, 01)); var newer = new Vehicle(regNumber: "FO20RD1", "Ford", dateOfFirstReg: new DateTime(2020, 03, 01)); vehicleLookup.Setup(s => s.Vehicle("FO10RD1")).Returns(older); vehicleLookup.Setup(s => s.Vehicle("FO20RD1")).Returns(newer); _warrantyInfoRows.Add(new WarrantyInfoRowStub() { Franchise = "Ford", AppliesTo = "All Models", MonthOfLifeGreaterThan = 0, MonthOfLifeLessThan = 24 }); var warrantyInfo = new WarrantyInfo(vehicleLookup.Object, _db.Object); var olderResult = warrantyInfo.Query("FO10RD1", default); var newerResult = warrantyInfo.Query("FO20RD1", default); Assert.IsFalse(olderResult.Any()); Assert.IsTrue(newerResult.Any()); }
public void ReturnsWarrantyInfo_WhenFranchiseMatches() { var vehicleLookup = new Mock <IVehicleLookup>(MockBehavior.Strict); var ford = new Vehicle(regNumber: "FO20RD1", "Ford", dateOfFirstReg: new DateTime(2020, 03, 1)); var toyota = new Vehicle(regNumber: "TO20YOT", "Toyota", dateOfFirstReg: new DateTime(2020, 03, 1)); vehicleLookup.Setup(s => s.Vehicle("FO20RD1")).Returns(ford); vehicleLookup.Setup(s => s.Vehicle("TO20YOT")).Returns(toyota); _warrantyInfoRows.Add(new WarrantyInfoRowStub() { Franchise = "Ford", AppliesTo = "All Models", MonthOfLifeGreaterThan = 0, MonthOfLifeLessThan = 24 }); _warrantyInfoRows.Add(new WarrantyInfoRowStub() { Franchise = "Toyota", AppliesTo = "All Models", MonthOfLifeGreaterThan = 0, MonthOfLifeLessThan = 24 }); var warrantyInfo = new WarrantyInfo(vehicleLookup.Object, _db.Object); var fordResult = warrantyInfo.Query("FO20RD1", default); var toyotaResult = warrantyInfo.Query("TO20YOT", default); Assert.AreEqual("Ford", fordResult.First().Franchise); Assert.AreEqual("Toyota", toyotaResult.First().Franchise); }
public void ReturnsWarrantyInfo_WhenWithinMonthOfLife_AndMileageLimit(int?monthOfLifeGreaterThan, int?monthOfLifeLessThan, int?mileageLessThan) { var vehicle = new Vehicle(regNumber: "FO20RD1", "Ford", dateOfFirstReg: new DateTime(2020, 03, 1)); var vehicleLookupService = new Mock <IVehicleLookup>(MockBehavior.Strict); vehicleLookupService.Setup(s => s.Vehicle("FO20RD1")).Returns(vehicle); _warrantyInfoRows.Add(new WarrantyInfoRowStub() { Franchise = "Ford", AppliesTo = "All Models", MonthOfLifeGreaterThan = (byte?)monthOfLifeGreaterThan, MonthOfLifeLessThan = (byte?)monthOfLifeLessThan, MileageLessThan = mileageLessThan }); var warrantyInfo = new WarrantyInfo(vehicleLookupService.Object, _db.Object); var result = warrantyInfo.Query("FO20RD1", 50000); Assert.IsNotNull(result.First()); }