Example #1
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 #2
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 #3
0
        private void buttonLookup_Click(object sender, EventArgs e)
        {
            var warranty = _context.Warranties
                           .Where(w =>
                                  w.BikeModelNo == this.textModelNo.Text &&
                                  w.BikeSerialNo == this.textSerialNo.Text)
                           .SingleOrDefault();

            if (warranty == null)
            {
                warranty = new WarrantyInfo
                {
                    BikeModelNo   = this.textModelNo.Text,
                    BikeSerialNo  = this.textSerialNo.Text,
                    DateSold      = DateTime.Today,
                    WarrantyYears = 1
                };

                _context.Warranties.Add(warranty);
                this.labelInfo.Text = "No prior warranty information found. Please enter the information.";
            }
            else
            {
                this.labelInfo.Text = "Existing warranty information found for this bike.";
            }

            if (warranty != null)
            {
                this.warrantyBindingSource.DataSource = warranty;
                this.groupWarrantyDetails.Visible     = true;
            }
        }
Example #4
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());
        }
 private void detach_WarrantyInfos(WarrantyInfo entity)
 {
     this.SendPropertyChanging("WarrantyInfos");
     entity.Customer = null;
 }