示例#1
0
        public void Drive_Should_Decreased_Fuel_Amount(
            string make,
            string model,
            double fuelConsumption,
            double fuelCapacity,
            double FuelToRefuel,
            double distanceToDrive)
        {
            //Arrange
            car = new Car(
                make: make,
                model: model,
                fuelConsumption: fuelConsumption,
                fuelCapacity: fuelCapacity);

            //Act
            car.Refuel(FuelToRefuel);
            double carCurrFuelAmount = car.FuelAmount;

            car.Drive(distanceToDrive);

            //Assert
            double carDistanceFuelAmount = (distanceToDrive / 100) * fuelConsumption;

            double expectedCarFuelAmountResult = carCurrFuelAmount - carDistanceFuelAmount;
            double actualCarFuelAmountResult   = car.FuelAmount;

            Assert.AreEqual(expectedCarFuelAmountResult, actualCarFuelAmountResult);
        }
示例#2
0
        public void TestIfRefuelMethodThrowsExceptionWhenInputIsInvalid()
        {
            Car car = new Car("Audi", "A4", 7, 60);


            Assert.Throws <ArgumentException>(() => car.Refuel(-20));
        }
示例#3
0
        public void When_RefuelCall_ShuoldSetFuelToMaxCapacityIfBigger()
        {
            Car car     = new Car("make", "model", 4, 5);
            int newFuel = 6;

            car.Refuel(newFuel);
            Assert.AreEqual(car.FuelAmount, car.FuelCapacity);
        }
示例#4
0
        public void CarMethodDriveShouldWorkNormallyAndDecreaceFuelAmount()
        {
            var car = new Car("Peugeot", "406", 12.5, 40);

            car.Refuel(25);
            car.Drive(50);
            Assert.AreEqual(18.75, car.FuelAmount);
        }
示例#5
0
        public void TestIfDistanceIfMoreThanFuelException(double distanceToDrive)
        {
            Car car4 = new Car("VW", "Passat", 10, 20);

            car4.Refuel(20);

            Assert.Throws <InvalidOperationException>(() => car4.Drive(distanceToDrive));
        }
示例#6
0
        public void RefuelWorksProperly(double fuelAmount, double expectedFuel)
        {
            Car car = new Car("make", "model", 10, 100);

            car.Refuel(fuelAmount);

            Assert.AreEqual(expectedFuel, car.FuelAmount);
        }
示例#7
0
        public void DriveMethodWorksCorrectly()
        {
            Car testCar = new Car("123", "123", 4, 4);

            testCar.Refuel(4);
            testCar.Drive(100);
            Assert.AreEqual(testCar.FuelAmount, 0);
        }
示例#8
0
        public void CheckTheTankOverflow(double fuelToRefuel)
        {
            Car car = new Car("volvo", "S80", 20, 60);

            car.Refuel(fuelToRefuel);

            Assert.AreEqual(60, car.FuelAmount);
        }
示例#9
0
        public void CheckTheExceptionForInsufficientFuel(double distance)
        {
            Car car = new Car("volvo", "S80", 20, 60);

            car.Refuel(10);

            Assert.Throws <InvalidOperationException>(() => car.Drive(distance), "You don't have enough fuel to drive!");
        }
示例#10
0
        public void RefuelShouldThrowExceptionWhenPassedValueIsBelowOrEqualToZero
            (double value)
        {
            Car car = new Car("VW", "Golf", 10, 100);

            Assert.Throws <ArgumentException>(() =>
                                              car.Refuel(value));
        }
示例#11
0
        public void RefuelShouldThrowExceptionIfFuelIsBellowOrZero(double fuel)
        {
            //Arrange
            Car car = new Car("VW", "Golf", 10, 100);

            //Act - Assert
            Assert.Throws <ArgumentException>(() => car.Refuel(fuel));
        }
        public void RefuelMethodShouldWorksCorrectly(double fuelToRefuel)
        {
            var car = new Car("Germany", "BMW", 10, 45);

            car.Refuel(fuelToRefuel);

            Assert.AreEqual(car.FuelAmount, 12);
        }
示例#13
0
        public void TestRefuel()
        {
            var car = new Car(5);

            car.Refuel(40);

            Assert.AreEqual(45, car.fuelTankDisplay.FillLevel, "Wrong fuel tank fill level!");
        }
示例#14
0
        public void RefuelThrowsArgumentExceptionWithZeroOrNegativeAmount(int amount)
        {
            var car = new Car("   ", "   ", 10, 65);

            var exception = Assert.Throws <ArgumentException>(() => car.Refuel(amount));

            Assert.AreEqual("Fuel amount cannot be zero or negative!", exception.Message);
        }
示例#15
0
        public void DriveWithSuficientFuelAmount()
        {
            var car = new Car(make, model, fuelConsumption, fuelCapacity);

            car.Refuel(100.00);
            car.Drive(300);
            Assert.That(car.FuelAmount, Is.EqualTo(78.40));
        }
示例#16
0
 public void CheckWheterRefuelMethodThrowsExceptionIfArgumentIsLessOrEqualsToZero(double fuelToRefuel)
 {
     car = new Car("BMW", "E90", 0.5, 60);
     Assert.Throws <ArgumentException>(() =>
     {
         car.Refuel(fuelToRefuel);
     });
 }
        public void RefuellingShoulddWorkCorrectly
            (double fuel, double expectedFuel)
        {
            Car car = new Car("AAA", "bbb", 5.00, 50.00);

            car.Refuel(fuel);
            Assert.AreEqual(car.FuelAmount, expectedFuel);
        }
        public void ValidationInRefuellingAmountShoulddWorkCorrectly
            (double fuel)
        {
            Car car = new Car("AAA", "bbb", 5.00, 50.00);

            Assert.Throws <ArgumentException>(()
                                              => car.Refuel(fuel));
        }
示例#19
0
        public void DriveThrowsException()
        {
            Car car = new Car("make", "model", 10, 100);

            car.Refuel(1);

            Assert.Throws <InvalidOperationException>(() => car.Drive(100));
        }
        public void CarWithZeroOrNegativeRefuelAmount_ShouldThrowException(double refuelAmount)
        {
            //Arrange
            var car = new Car("VW", "Golf", defaultFuelConsumption, defaultFuelCapacity);

            //Act - Assert
            Assert.Throws <ArgumentException>(() => car.Refuel(refuelAmount));
        }
示例#21
0
        public void Test1()
        {
            car.Refuel(10);
            car.Drive(10);

            Assert.That(car.FuelAmount, Is.EqualTo(9));
        }
示例#22
0
        public void TestRefuelWorkCorrectly()
        {
            double expectedFuelAmount = 4;;

            car.Refuel(4);
            Assert.AreEqual(expectedFuelAmount, car.FuelAmount);
        }
示例#23
0
        public void TestIfRefuelMoreThanCapacity()
        {
            Car car = new Car("BMW", "MK3", 10, 70);

            car.Refuel(100);
            int expectedFuel = 70;

            Assert.AreEqual(expectedFuel, car.FuelAmount);
        }
示例#24
0
        public void RefuelWorksFine(int amount)
        {
            var car            = new Car("   ", "   ", 10, 65);
            var expectedAmount = Math.Min(amount, car.FuelCapacity);

            car.Refuel(amount);

            Assert.AreEqual(expectedAmount, car.FuelAmount);
        }
示例#25
0
        public void CheckTheFuelAmountNextDrive()
        {
            Car car = new Car("volvo", "S80", 20, 60);

            car.Refuel(60);
            car.Drive(100);

            Assert.AreEqual(40, car.FuelAmount);
        }
示例#26
0
        public void TestRefuelWithZero()
        {
            Car car = new Car("BMW", "MK3", 10, 70);

            Assert.Throws <ArgumentException>(() =>
            {
                car.Refuel(0);
            });
        }
示例#27
0
        public void RefuelThrowsAEWhenFuelToRefuelIsEqualOrBelowZero
            (double amount)
        {
            //Arrange
            Car car = new Car("A", "B", 10, 100);

            //Act && Arrange
            Assert.Throws <ArgumentException>(() => car.Refuel(amount));
        }
示例#28
0
        public void DriveWorksProperly()
        {
            Car car = new Car("make", "model", 10, 100);

            car.Refuel(100);
            car.Drive(100);

            Assert.AreEqual(90, car.FuelAmount);
        }
示例#29
0
        public void TestRefuelWithNegativeNumber()
        {
            Car car = new Car("BMW", "MK3", 10, 70);

            Assert.Throws <ArgumentException>(() =>
            {
                car.Refuel(-10);
            });
        }
示例#30
0
        public void RefuelMethodThrowsExceptionIfFuelIsZeroOrNegative()
        {
            Car testCar = new Car("123", "123", 4, 4);

            Assert.Throws <ArgumentException>(() =>
            {
                testCar.Refuel(-1);
            });
        }