Example #1
0
        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());
        }
Example #2
0
        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);
        }
Example #3
0
        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());
        }