예제 #1
0
        private static void DemoVehicleInventory()
        {
            IVehicleInventory inventory = new VehicleInventory();
            var vehicle = VehicleFactory.CreateVehicle("vinnumber3", VehicleMake.Tesla, "Model S", 2017, "yellow", 1500, 2500, 100);

            //var temp = vehicle.Mfg;
            inventory.Add(vehicle);
            vehicle = VehicleFactory.CreateVehicle("vinnumber1", VehicleMake.BMW, "325i", 2016, "red", 2500, 4000, 100);
            inventory.Add(vehicle);

            inventory.Remove(vehicle);

            inventory.Add(vehicle);
            var v1 = inventory.List(SortOrder.Vin);

            Console.WriteLine("List of Vehicles");
            v1.ForEach(v => Console.WriteLine($"{v.VinNumber}, {v.Make}, {v.Model}"));

            var v2 = inventory.FindByYear(2017);

            var v3 = inventory.List(SortOrder.Vin).FindByMake(VehicleMake.BMW);

            v3.AddToMileage(99);
            var v3_1 = inventory.List().FindByMake(VehicleMake.BMW);

            var v4 = inventory.List().FindByMake(VehicleMake.Ford);

            var stringList = inventory.ListAsString(SortOrder.Vin);

            Console.WriteLine("List of Vehicles - in Json(string) format");
            Console.WriteLine($"{stringList}");
        }
예제 #2
0
        public void TestMethod_BasicFeatures()
        {
            IVehicleInventory inventory = new VehicleInventory();
            var vehicle = VehicleFactory.CreateVehicle("vinnumber3", VehicleMake.Tesla, "model", 2017, "yellow", 1500, 2500, 100);

            //var temp = vehicle.Mfg;
            inventory.Add(vehicle);
            vehicle = VehicleFactory.CreateVehicle("vinnumber1", VehicleMake.BMW, "model", 2016, "red", 2500, 4000, 100);
            inventory.Add(vehicle);
            var v1 = inventory.List(SortOrder.Vin);

            Assert.AreEqual(2, v1.Count);
            Assert.AreEqual(v1[0].VinNumber, "vinnumber1");

            inventory.Remove(vehicle);
            v1 = inventory.List(SortOrder.Vin);
            Assert.AreEqual(1, v1.Count);

            inventory.Add(vehicle);

            var v2 = inventory.FindByYear(2017);

            Assert.AreEqual(1, v2.Count);

            var v3 = inventory.List(SortOrder.Vin).FindByMake(VehicleMake.BMW);

            Assert.AreEqual(1, v3.Count);
            Assert.IsTrue(v3[0].Disclaimer.Contains("Copyright BMW AG, Munich, Germany"));

            v3.AddToMileage(99);
            var v3_1 = inventory.List().FindByMake(VehicleMake.BMW);

            Assert.AreEqual(199, v3_1[0].Miles);

            var v4 = inventory.List().FindByMake(VehicleMake.Ford);

            Assert.AreEqual(0, v4.Count);

            var stringList = inventory.ListAsString(SortOrder.Vin);

            Assert.IsTrue(stringList.Contains("vinnumber3"));
            Assert.IsTrue(stringList.Contains("vinnumber1"));
            // verify that the BMW has the disclaimer
            Assert.IsTrue(stringList.Contains("Copyright BMW AG, Munich, Germany"));

            // test for tesla manufacturer info
            Assert.IsTrue(stringList.Contains("Teslaphone"));
        }