예제 #1
0
        public void RemoveTest()
        {
            //Arrange
            var capatity1 = 2;
            var garage1   = new Garage <Vehicle>(capatity1);
            var item1     = mockDataSource[Rnd.Next(0, mockDataSource.Count - 1)];
            var item2     = mockDataSource[Rnd.Next(0, mockDataSource.Count - 1)];
            var item3     = mockDataSource[Rnd.Next(0, mockDataSource.Count - 1)];

            while (item1.Eq(item2))
            {
                item2 = mockDataSource[Rnd.Next(0, mockDataSource.Count - 1)];
            }
            while (item1.Eq(item3) || item2.Eq(item3))
            {
                item3 = mockDataSource[Rnd.Next(0, mockDataSource.Count - 1)];
            }
            garage1.Add(item1);
            garage1.Add(item2);
            var wasfull = garage1.IsFull;

            //act
            var     result4   = garage1.Remove(item2);
            Vehicle existsin1 = garage1.FirstOrDefault(v => v == item2);
            var     result5   = garage1.Remove(item3);

            //assert
            Assert.IsTrue(wasfull & (!garage1.IsFull), "When removing an element from a full garage the garage didn't get non-full");
            Assert.IsNull(existsin1, "When removing an element the element wasn't removed");
            Assert.IsFalse(result5, "when removings a non existing element the remove method retruern true");
        }
예제 #2
0
        public void Garage_Returnera_Vehicle_With_this_Test()
        {
            // Assert.Pass();

            // Arrange
            // expected
            Guid guid = Guid.NewGuid();

            Garage <ICanBeParkedInGarage> garage = new Garage <ICanBeParkedInGarage>(guid, "Garage 1", 5);

            ICanBeParkedInGarage vehicle1 = new Car("AAA 111", "Röd", 4);
            ICanBeParkedInGarage vehicle2 = new Bus("BBB 222", "Grön", 50);

            garage.Add(vehicle1);
            garage.Add(vehicle2);


            // Act
            // actual
            ICanBeParkedInGarage actaulVehicle1 = garage[0];
            Vehicle actualVec1 = actaulVehicle1 as Vehicle;

            ICanBeParkedInGarage actaulVehicle2 = garage[1];
            Vehicle actualVec2 = actaulVehicle2 as Vehicle;


            // Assert
            Assert.AreEqual(actualVec1.Color, ((Vehicle)vehicle1).Color);

            Assert.AreEqual(actualVec2.Color, ((Vehicle)vehicle2).Color);

            Assert.AreEqual(actualVec1.RegistrationNumber, ((Vehicle)vehicle1).RegistrationNumber);

            Assert.AreEqual(actualVec2.RegistrationNumber, ((Vehicle)vehicle2).RegistrationNumber);
        }
예제 #3
0
        public void Garage_Vehicle_Count()
        {
            // public (string strId, string strName, bool bIsFull, int iCapacity, int iNumberOfParkedVehicle) GetGarageInfo()

            // Assert.Pass();

            // Arrange
            // expected
            Guid guid = Guid.NewGuid();

            Garage <ICanBeParkedInGarage> garage = new Garage <ICanBeParkedInGarage>(guid, "Garage 1", 5);

            ICanBeParkedInGarage vehicle1 = new Car("AAA 111", "Röd", 4);
            ICanBeParkedInGarage vehicle2 = new Bus("BBB 222", "Grön", 50);

            // Lägg till 2 fordon
            garage.Add(vehicle1);
            garage.Add(vehicle2);

            // Act
            // actual
            int iActualNumberOfVehicles = garage.Count;


            // Assert
            Assert.AreEqual(2, iActualNumberOfVehicles);
        }
예제 #4
0
        public void RemoveTest()
        {
            //Arrange
            var expectedgarage = new Garage <Vehicle>();
            var car            = new Car()
            {
                RegisterNumber = "aaa123"
            };
            var bus = new Bus()
            {
                RegisterNumber = "ddd123"
            };
            var boat = new Boat()
            {
                RegisterNumber = "eee123"
            };

            expectedgarage.Vehicles.Add(car);
            expectedgarage.Vehicles.Add(bus);
            expectedgarage.Vehicles.Add(boat);
            expectedgarage.Vehicles.Remove(boat);


            // Act
            var actgarage = new Garage <Vehicle>();

            actgarage.Add(car);
            actgarage.Add(bus);
            actgarage.Add(boat);
            actgarage.Remove(boat);

            //Assert

            CollectionAssert.AreEqual(expectedgarage.Vehicles, actgarage.Vehicles);
        }
예제 #5
0
        public void Garage_Count_Number_Of_Vehicle_With_Registrationnumber()
        {
            // Assert.Pass();

            // Arrange
            // expected
            Guid guid = Guid.NewGuid();

            Garage <ICanBeParkedInGarage> garage = new Garage <ICanBeParkedInGarage>(guid, "Garage 1", 5);

            ICanBeParkedInGarage vehicle1 = new Car("AAA 111", "Röd", 4);
            ICanBeParkedInGarage vehicle2 = new Bus("BBB 222", "Grön", 50);


            // Act
            // actual
            int iActualNumberOfVehicleBeforeAddedVehicle = garage.CountVehicleWithRegistrationNumber("AAA 111");

            // Lägg till 2 fordon
            garage.Add(vehicle1);
            garage.Add(vehicle2);

            int iActualNumberOfVehicleAfterAddedVehicle = garage.CountVehicleWithRegistrationNumber("AAA 111");

            // Assert
            Assert.AreEqual(0, iActualNumberOfVehicleBeforeAddedVehicle);
            Assert.AreEqual(1, iActualNumberOfVehicleAfterAddedVehicle);
        }
예제 #6
0
        public void Garage_GetGarageInfo()
        {
            // public (string strId, string strName, bool bIsFull, int iCapacity, int iNumberOfParkedVehicle) GetGarageInfo()

            // Assert.Pass();

            // Arrange
            // expected
            Guid guid = Guid.NewGuid();

            Garage <ICanBeParkedInGarage> garage = new Garage <ICanBeParkedInGarage>(guid, "Garage 1", 5);

            ICanBeParkedInGarage vehicle1 = new Car("AAA 111", "Röd", 4);
            ICanBeParkedInGarage vehicle2 = new Bus("BBB 222", "Grön", 50);

            // Lägg till 2 fordon
            garage.Add(vehicle1);
            garage.Add(vehicle2);

            // Act
            // actual
            var(strActualId, strActualName, bActualIsFull, iActualCapacity, iActualNumberOfParkedVehicle) = garage.GetGarageInfo();


            // Assert
            Assert.AreEqual(guid.ToString(), strActualId);
            Assert.AreEqual("Garage 1", strActualName);
            Assert.AreEqual(false, bActualIsFull);
            Assert.AreEqual(5, iActualCapacity);
            Assert.AreEqual(2, iActualNumberOfParkedVehicle);
        }
예제 #7
0
        public void Garage_AddCarToVehicleGarage_FailsGarageFull()
        {
            Garage <IVehicle> vehicleGarage = new Garage <IVehicle>(1);
            Car car1 = new Car("ABC123", "Blue", 4, FuelType.Gasoline);
            Car car2 = new Car("ABC456", "Green", 4, FuelType.Gasoline);

            vehicleGarage.Add(car1);
            Assert.IsFalse(vehicleGarage.Add(car2));
        }
예제 #8
0
        public void CountByTypeTest()
        {
            var garage = new Garage <Vehicle>(10);
            var aCar   = new Car("skj303", "blue", 5, 4, "BMW", "Petrol");
            var bCar   = new Car("skj304", "red", 4, 4, "Lambo", "Petrol");
            var cCar   = new Car("skj305", "green", 5, 4, "Seat", "Diesel");
            var aBus   = new Bus("skd493", "white", 60, 6, "Scania", "City bus");
            var bBus   = new Bus("skd494", "blue", 20, 4, "Mercedes", "Minibus");
            var aTruck = new Truck("aak594", "green", 3, 16, "Volvo", 2500);
            var bTruck = new Truck("aak595", "grey", 5, 18, "Mack", 3000);
            var cTruck = new Truck("aak596", "black", 5, 14, "Scania", 2200);
            var dTruck = new Truck("aak597", "orange", 3, 16, "Renault", 2500);
            var done   = "Bus: 2\nCar: 3\nTruck: 4\n";

            var result1 = garage.CountByType();

            garage.Add(aCar);
            garage.Add(aBus);
            garage.Add(bCar);
            garage.Add(aTruck);
            garage.Add(bTruck);
            garage.Add(cCar);
            garage.Add(cTruck);
            garage.Add(bBus);
            garage.Add(dTruck);
            var result2 = garage.CountByType();

            Assert.AreEqual(Garage <Vehicle> .garageEmpty, result1);
            Assert.AreEqual(done, result2);
        }
예제 #9
0
        public void FindByPropertiesTest()
        {
            var garage    = new Garage <Vehicle>(10);
            var aCar      = new Car("skj303", "blue", 5, 4, "BMW", "Petrol");
            var bCar      = new Car("skj304", "red", 4, 4, "Volvo", "Petrol");
            var cCar      = new Car("skj305", "green", 5, 4, "Seat", "Diesel");
            var aBus      = new Bus("skd493", "white", 60, 6, "Scania", "City bus");
            var bBus      = new Bus("skd494", "blue", 20, 4, "Mercedes", "Minibus");
            var aTruck    = new Truck("aak594", "green", 4, 16, "Volvo", 2500);
            var bTruck    = new Truck("aak595", "grey", 5, 18, "Mack", 3000);
            var cTruck    = new Truck("aak596", "black", 4, 14, "Scania", 2200);
            var dTruck    = new Truck("aak597", "blue", 3, 16, "Volvo", 2500);
            var expected3 = $"{bBus.DisplayVehicleInformation()}\n{aCar.DisplayVehicleInformation()}\n{dTruck.DisplayVehicleInformation()}\n";
            var expected4 = $"{bCar.DisplayVehicleInformation()}\n{aTruck.DisplayVehicleInformation()}\n";

            var result1 = garage.FindByProperties("blue", 999, 4, "");

            garage.Add(aCar);
            garage.Add(aBus);
            garage.Add(bCar);
            garage.Add(aTruck);
            garage.Add(bTruck);
            garage.Add(cCar);
            garage.Add(cTruck);
            garage.Add(bBus);
            garage.Add(dTruck);
            var result3 = garage.FindByProperties("blue", 999, 999, "");
            var result4 = garage.FindByProperties("", 4, 999, "Volvo");
            var result5 = garage.FindByProperties("orange", 999, 8, "");

            Assert.AreEqual(Garage <Vehicle> .garageEmpty, result1);
            Assert.AreEqual(expected3, result3);
            Assert.AreEqual(expected4, result4);
            Assert.AreEqual(Garage <Vehicle> .missingVehicle, result5);
        }
예제 #10
0
        public void Garage_Add_To_Capacity_Vehicle_Test()
        {
            // Assert.Pass();

            // Arrange
            // expected
            Guid guid = Guid.NewGuid();

            Garage <ICanBeParkedInGarage> garage = new Garage <ICanBeParkedInGarage>(guid, "Garage 1", 5);

            ICanBeParkedInGarage vehicle1 = new Car("AAA 111", "RÖD", 4);

            ICanBeParkedInGarage vehicle2 = new Bus("BBB 222", "GRÖN", 50);

            ICanBeParkedInGarage vehicle3 = new Car("CCC 333", "GRÖN", 4);

            ICanBeParkedInGarage vehicle4 = new MotorCycle("DDD 444", "BLÅ", 2);

            ICanBeParkedInGarage vehicle5 = new Car("EEE 555", "GRÖN", 5);


            string strExpectedToString = $"Garage 1, Kapacitet: {5}, Antal parkerade fordon: {5}";


            // Act
            // actual
            bool bAddedItem1 = garage.Add(vehicle1);
            bool bAddedItem2 = garage.Add(vehicle2);
            bool bAddedItem3 = garage.Add(vehicle3);
            bool bAddedItem4 = garage.Add(vehicle4);
            bool bAddedItem5 = garage.Add(vehicle5);

            int    iActualNumberOfVehicles = garage.Count;
            bool   bActualIsEmpty          = garage.IsEmpty;
            bool   bActualIsFull           = garage.IsFull;
            string strActualToString       = garage.ToString();


            // Assert
            Assert.IsTrue(bAddedItem1);
            Assert.IsTrue(bAddedItem2);
            Assert.IsTrue(bAddedItem3);
            Assert.IsTrue(bAddedItem4);
            Assert.IsTrue(bAddedItem5);

            Assert.AreEqual(5, iActualNumberOfVehicles);

            Assert.IsFalse(bActualIsEmpty);

            Assert.IsTrue(bActualIsFull);

            Assert.AreEqual(strExpectedToString, strActualToString);
        }
예제 #11
0
        public void Garage_Remove_Vehicle_At_Index_With_No_Vehicle_Test()
        {
            // Assert.Pass();

            // Arrange
            // expected
            Guid guid = Guid.NewGuid();

            Garage <ICanBeParkedInGarage> garage = new Garage <ICanBeParkedInGarage>(guid, "Garage 1", 5);

            ICanBeParkedInGarage vehicle1 = new Car("AAA 111", "Röd", 4);
            ICanBeParkedInGarage vehicle2 = new Car("BBB 222");

            string strExpectedToStringBeforeRemove = $"Garage 1, Kapacitet: {5}, Antal parkerade fordon: {2}";
            string strExpectedToStringAfterRemove  = $"Garage 1, Kapacitet: {5}, Antal parkerade fordon: {2}";


            // Act
            // actual
            bool   bAddedItem1                         = garage.Add(vehicle1);
            bool   bAddedItem2                         = garage.Add(vehicle2);
            string strActualBeforeToString             = garage.ToString();
            int    iActualNumberOfVehiclesBeforeRemove = garage.Count;

            bool bRemovedItem2 = garage.Remove(3);

            int  iActualNumberOfVehiclesAfterRemove = garage.Count;
            bool bActualIsEmpty = garage.IsEmpty;
            bool bActualIsFull  = garage.IsFull;

            string strActualAfterToString = garage.ToString();


            // Assert
            Assert.IsTrue(bAddedItem1);

            Assert.IsTrue(bAddedItem2);

            Assert.AreEqual(strExpectedToStringBeforeRemove, strActualBeforeToString);

            Assert.AreEqual(2, iActualNumberOfVehiclesBeforeRemove);

            Assert.IsFalse(bRemovedItem2);

            Assert.AreEqual(2, iActualNumberOfVehiclesAfterRemove);

            Assert.IsFalse(bActualIsEmpty);

            Assert.IsFalse(bActualIsFull);

            Assert.AreEqual(strExpectedToStringAfterRemove, strActualAfterToString);
        }
예제 #12
0
        public void AddToAFullGarage1()
        {
            // Arrange
            var expected = 1;
            var actual   = garage.Count;
            // Act
            var car2 = new Car("aaa555", "Red", 4, "Diesel");

            garage.Add(car2);
            // Assert
            Assert.IsTrue(garage.IsFull);
            Assert.AreEqual(expected, actual);
        }
예제 #13
0
        public void AddVehToGarageCapacity0()
        {
            //Arrange
            const int expected = 0;

            //Act
            var addTest = garage.Add(new Car("car123", "Red", 3, 3));
            var actual  = garage.vehLenght;

            //Assert
            Assert.IsFalse(addTest);
            Assert.AreEqual(expected, actual);
        }
예제 #14
0
        public void CheckCountVehiclesTest()
        {
            var expected = 2;

            var airplane = garage.Add(new Airplane("abc123", "white", 2, 3));
            var car      = garage.Add(new Car("abc124", "white", 2, "diesel"));

            var actual = garage.Count;

            //assert are equal
            Assert.IsTrue(airplane);
            Assert.IsTrue(car);
            Assert.AreEqual(expected, actual);
        }
예제 #15
0
        public void SetUp()
        {
            garage = TestContext.TestName.EndsWith('0') ? new Garage <Vehicle>(0) : new Garage <Vehicle>(8);

            if (TestContext.TestName.EndsWith('1'))
            {
                garage.Add(new Car("car123", "Red", 3, 3));
            }
            else if (TestContext.TestName.EndsWith('3'))
            {
                garage.Add(new Car("car123", "Red", 4, 3));
                garage.Add(new Boat("boat123", "Red", 2, 3.1));
                garage.Add(new Bus("bus123", "yellow", 8, 3));
            }
        }
예제 #16
0
        public void AddTest()
        {
            //Arrange
            var capatity1 = 1;
            var capatity2 = 0;
            var exepted1  = mockDataSource[Rnd.Next(0, mockDataSource.Count - 1)];
            var exepted2  = mockDataSource[Rnd.Next(0, mockDataSource.Count - 1)];

            while (exepted1.Eq(exepted2))
            {
                exepted2 = mockDataSource[Rnd.Next(0, mockDataSource.Count - 1)];
            }
            var garage1 = new Garage <Vehicle>(capatity1);
            var garage2 = new Garage <Vehicle>(capatity2);

            //act


            var result1 = garage1.Add(exepted1);
            var result2 = garage2.Add(exepted2);

            Vehicle existsin1 = garage1.FirstOrDefault(v => v == exepted1);
            Vehicle existsin2 = garage2.FirstOrDefault(v => v == exepted2);

            //assert
            Assert.IsTrue(result1, "Add Ok reported failure");
            Assert.IsFalse(result2, "Add failed reported ok");
            Assert.IsNotNull(existsin1, "Add ok element isn't in container");
            Assert.IsNull(existsin2, "Add failed element is in container");
        }
예제 #17
0
        public void Garage_AddCarToCarGarage_Success()
        {
            Garage <Car> carGarage = new Garage <Car>(10);
            Car          car       = new Car("ABC123", "Blue", 4, FuelType.Gasoline);

            Assert.IsTrue(carGarage.Add(car));
        }
예제 #18
0
        public void Garage_Returnera_Vehicle_With_this_At_Wrong_Index_Test(int iIndex)
        {
            // Assert.Pass();

            // Arrange
            // expected
            Guid guid = Guid.NewGuid();

            Garage <ICanBeParkedInGarage> garage   = new Garage <ICanBeParkedInGarage>(guid, "Garage 1", 5);
            ICanBeParkedInGarage          vehicle1 = new Car("AAA 111", "Röd", 4);

            garage.Add(vehicle1);

            // Act
            // actual


            // Assert

            try
            {
                var vec = garage[iIndex];
                Assert.Fail();
            }
            catch (ArgumentOutOfRangeException)
            {
                Assert.Pass();
            }
        }
예제 #19
0
        public void Garage_AddCarToVehicleGarage_Success()
        {
            Garage <IVehicle> vehicleGarage = new Garage <IVehicle>(10);
            Car car = new Car("ABC123", "Blue", 4, FuelType.Gasoline);

            Assert.IsTrue(vehicleGarage.Add(car));
        }
예제 #20
0
        public void Garage_Add_Vehicle_Test()
        {
            // Assert.Pass();

            // Arrange
            // expected
            Guid guid = Guid.NewGuid();

            Garage <ICanBeParkedInGarage> garage = new Garage <ICanBeParkedInGarage>(guid, "Garage 1", 5);

            ICanBeParkedInGarage vehicle = new Car("AAA 111", "RÖD", 4);

            string strExpectedToString = $"Garage 1, Kapacitet: {5}, Antal parkerade fordon: {1}";


            // Act
            // actual
            bool   bAddedItem = garage.Add(vehicle);
            int    iActualNumberOfVehicles = garage.Count;
            bool   bActualIsEmpty          = garage.IsEmpty;
            bool   bActualIsFull           = garage.IsFull;
            string strActualToString       = garage.ToString();


            // Assert
            Assert.IsTrue(bAddedItem);

            Assert.AreEqual(1, iActualNumberOfVehicles);

            Assert.IsFalse(bActualIsEmpty);

            Assert.IsFalse(bActualIsFull);

            Assert.AreEqual(strExpectedToString, strActualToString);
        }
        /// <summary>
        /// Metoden parkerar ett fordon i garaget
        /// </summary>
        /// <param name="vehicle">Fordonet som skall parkeras i garaget</param>
        /// <returns>true om det gick parkera fordonet. Annars returneras false</returns>
        /// <exception cref="System.ArgumentNullException">Kastas om referensen till vehicle är null</exception>
        public bool ParkVehicle(ICanBeParkedInGarage vehicle)
        {
            if (vehicle == null)
            {
                throw new ArgumentNullException("ArgumentNullException. GarageHandler.ParkVehicle(ICanBeParkedInGarage vehicle). Referensen till vehicle är null");
            }


            var    tmpVehicle            = vehicle as IVehicle;
            string strRegistrationNumber = tmpVehicle?.RegistrationNumber;
            bool   bParkedVehicle        = false;

            if (Garage.IsFull)
            {
                Ui.WriteLine($"Det går inte parkera fordon {vehicle.GetType().Name} med registreringsnummer {strRegistrationNumber}. {Garage.GarageName} är fullt");
            }
            else
            {// Vi kan försöka att parkera fordonet
                bParkedVehicle = Garage.Add(vehicle);
            }

            if (bParkedVehicle)
            {// Vi har parkerat ett fordon. Skriv ut info om detta
                Ui.WriteLine($"Parkerar fordon {vehicle.GetType().Name} med registreringsnummer {strRegistrationNumber}");
            }

            return(bParkedVehicle);
        }
예제 #22
0
        public void Enumerator()
        {
            // Arrange
            int capacity = 10;
            var vehicles = new TestVehicle[] {
                new TestVehicle(),
                new TestVehicle(),
                new TestVehicle(),
                new TestVehicle(),
            };
            var garage = new Garage <TestVehicle>(capacity);

            foreach (var item in vehicles)
            {
                garage.Add(item);
            }

            // Act
            var result = garage.ToList();

            // Assert
            // Using result.Count instead of vehicles.Length,
            // to make sure we don't iterate over any null items
            for (int i = 0; i < result.Count; i++)
            {
                Assert.AreSame(vehicles[i], result[i]);
            }
            Assert.AreEqual(vehicles.Length, result.Count);
        }
예제 #23
0
        public void Add_When_Not_Full()
        {
            // Arrange
            int capacity = 4;
            var garage   = new Garage <TestVehicle>(capacity);
            var vehicles = new TestVehicle[] {
                new TestVehicle(),
                new TestVehicle(),
                new TestVehicle(),
                new TestVehicle(),
            };

            // Act
            foreach (var item in vehicles)
            {
                garage.Add(item);
            }

            // Assert
            int i = 0;

            foreach (var item in garage)
            {
                Assert.AreSame(vehicles[i++], item);
            }
            Assert.AreEqual(vehicles.Length, garage.Count);
            Assert.AreEqual(vehicles.Length, i);
        }
예제 #24
0
        public void Garage_Remove_Vehicle_That_Not_Excist_Test()
        {
            // Assert.Pass();

            // Arrange
            // expected
            Guid guid = Guid.NewGuid();

            Garage <ICanBeParkedInGarage> garage = new Garage <ICanBeParkedInGarage>(guid, "Garage 1", 5);

            ICanBeParkedInGarage vehicle1 = new Car("AAA 111", "Röd", 4);
            ICanBeParkedInGarage vehicle2 = new Car("BBB 222", "Röd", 4);

            ICanBeParkedInGarage vehicle3 = new Car("CCC 333", "Röd", 4);


            string strExpectedToStringBeforeRemove = $"Garage 1, Kapacitet: {5}, Antal parkerade fordon: {2}";
            string strExpectedToStringAfterRemove  = $"Garage 1, Kapacitet: {5}, Antal parkerade fordon: {2}";


            // Act
            // actual
            bool bActualAddedItem1 = garage.Add(vehicle1);
            bool bActualAddedItem2 = garage.Add(vehicle2);

            string strActualToStringBeforeRemove    = garage.ToString();
            int    iActualNumberOfItemsBeforeRemove = garage.Count;

            bool bActualRemovedItem3 = garage.Remove(vehicle3);

            string strActualToStringAfterRemove    = garage.ToString();
            int    iActualNumberOfItemsAfterRemove = garage.Count;


            // Assert
            Assert.IsTrue(bActualAddedItem1);
            Assert.IsTrue(bActualAddedItem2);

            Assert.AreEqual(strExpectedToStringBeforeRemove, strActualToStringBeforeRemove);
            Assert.AreEqual(2, iActualNumberOfItemsBeforeRemove);

            Assert.IsFalse(bActualRemovedItem3);

            Assert.AreEqual(strExpectedToStringAfterRemove, strActualToStringAfterRemove);
            Assert.AreEqual(2, iActualNumberOfItemsAfterRemove);
        }
예제 #25
0
        public void FindByRegistrationIDTest()
        {
            var garage = new Garage <Vehicle>(4);
            var aCar   = new Car("SKJ303", "blue", 5, 4, "BMW", "Petrol");
            var aBus   = new Bus("skd493", "white", 60, 6, "Scania", "City bus");
            var aTruck = new Truck("aak594", "green", 3, 16, "Volvo", 2500);

            var result1 = garage.FindByRegistrationID("skj303".ToUpper());

            garage.Add(aCar);
            garage.Add(aBus);
            garage.Add(aTruck);
            var result2 = garage.FindByRegistrationID("SkJ303".ToUpper());

            Assert.AreEqual(null, result1);
            Assert.AreEqual(aCar, result2);
        }
예제 #26
0
    public bool BuyACar(Car car, double price)
    {
        if (this.Money < price)
        {
            return(false);
        }

        if (!garage.Add(car))
        {
            garage.Extend(garage.Size + 1);
            garage.Add(car);

            Console.WriteLine(this.Money);
        }
        this.Money -= price;
        return(true);
    }
예제 #27
0
        public void Add_When_Full()
        {
            // Arrange
            int capacity = 1;
            var garage   = new Garage <TestVehicle>(capacity);

            garage.Add(new TestVehicle());

            // Act
            bool success = garage.Add(new TestVehicle());

            // Assert
            Assert.AreEqual(false, success);
            Assert.AreEqual(1, garage.Count);
            // Just to make sure the iterator agrees
            Assert.AreEqual(1, garage.Count());
        }
예제 #28
0
        public void Remove_Fail()
        {
            // Arrange
            var garage = new Garage <TestVehicle>(4);
            var car    = new TestVehicle();

            garage.Add(new TestVehicle());
            garage.Add(new TestVehicle());

            // Act
            bool success = garage.Remove(car);

            // Assert
            Assert.IsFalse(success);
            Assert.AreEqual(2, garage.Count);
            Assert.AreEqual(2, garage.Count()); // Just to make sure the iterator agrees
        }
예제 #29
0
        public void DisplayAllTest()
        {
            var garage  = new Garage <Vehicle>(4);
            var aCar    = new Car("SKJ303", "blue", 5, 4, "BMW", "Petrol");
            var aBus    = new Bus("skd493", "white", 60, 6, "Scania", "City bus");
            var aTruck  = new Truck("aak594", "green", 3, 16, "Volvo", 2500);
            var success = $"{aBus.DisplayVehicleInformation()}\n{aCar.DisplayVehicleInformation()}\n{aTruck.DisplayVehicleInformation()}\n";

            var result1 = garage.DisplayAll();

            garage.Add(aCar);
            garage.Add(aBus);
            garage.Add(aTruck);
            var result2 = garage.DisplayAll();

            Assert.AreEqual(Garage <Vehicle> .garageEmpty, result1);
            Assert.AreEqual(success, result2);
        }
예제 #30
0
        public Warehouse(string name) : base(name, 10, 10)
        {
            Vehicle s1 = Factories.VehicleFactory.CreateVehicle("Semi");
            Vehicle s2 = Factories.VehicleFactory.CreateVehicle("Semi");
            Vehicle s3 = Factories.VehicleFactory.CreateVehicle("Semi");

            Garage.Add(s1);
            Garage.Add(s2);
            Garage.Add(s3);
        }