Exemplo n.º 1
0
        public void CreateAirplaneAndAddItToDatabase_WhenParametersAreCorrect()
        {
            // Arange
            var databaseMock = new Mock <IDatabase>();
            var factoryMock  = new Mock <ITravellerFactory>();
            var planeMock    = new Mock <IAirplane>();

            var             vehicleMock1 = new Mock <IVehicle>();
            var             vehicleMock2 = new Mock <IVehicle>();
            List <IVehicle> vehicles     = new List <IVehicle>()
            {
                vehicleMock1.Object, vehicleMock2.Object
            };

            databaseMock.SetupGet(m => m.Vehicles).Returns(vehicles);
            factoryMock.Setup(m => m.CreateAirplane(It.IsAny <int>(),
                                                    It.IsAny <decimal>(),
                                                    It.IsAny <bool>()))
            .Returns(planeMock.Object);

            List <string> commandParams = new List <string>()
            {
                "250",
                "1",
                "true"
            };

            var command = new CreateAirplaneCommand(factoryMock.Object, databaseMock.Object);

            // Act
            command.Execute(commandParams);

            // Assert
            Assert.AreEqual(planeMock.Object, databaseMock.Object.Vehicles[2]);
        }
Exemplo n.º 2
0
        public void ReturnSuccessMessage_WhenParametersAreCorrect()
        {
            // Arrange
            List <string> parameters = new List <string>();

            parameters.Add("250");
            parameters.Add("2.0");
            parameters.Add("true");

            List <IVehicle> vehicles = new List <IVehicle>();
            //var engineMock = new TestEngine();
            var engineMock = new Mock <IEngine>();

            engineMock.SetupGet(e => e.Vehicles).Returns(new List <IVehicle>());

            string result = string.Format(SuccessMessageTemplate, 0);
            CreateAirplaneCommand command =
                new CreateAirplaneCommand(TravellerFactory.Instance, engineMock.Object);

            // Act
            string actualResult = command.Execute(parameters);

            // Assert
            Assert.AreEqual(result, actualResult);
        }
Exemplo n.º 3
0
        public void SaveObjectToEngine_WhenInvoked()
        {
            // arrange
            var factoryMock  = new Mock <IAgencyFactory>();
            var engineMock   = new Mock <IEngine>();
            var airplaneMock = new Mock <IAirplane>();
            var vehicleList  = new List <IVehicle>();

            factoryMock.Setup(x => x.CreateAirplane(250, 1, true)).Returns(airplaneMock.Object);
            engineMock.Setup(x => x.Vehicles).Returns(vehicleList);

            var parameters = new List <string>()
            {
                "250",
                "1",
                "true;"
            };
            var sut = new CreateAirplaneCommand(factoryMock.Object, engineMock.Object);

            // act
            var actualMessage = sut.Execute(parameters);

            // assert
            Assert.IsTrue(vehicleList.Contains(airplaneMock.Object));
        }
Exemplo n.º 4
0
        public void ThrowException_WhenParametersAreNotCorrect(string passangerCapacity,
                                                               string pricePerKilometer, string hasFreeFood)
        {
            // Arrange
            List <string> parameters = new List <string>()
            {
                passangerCapacity, pricePerKilometer, hasFreeFood
            };

            CreateAirplaneCommand command =
                new CreateAirplaneCommand(TravellerFactory.Instance, Engine.Instance);

            // Act & Assert
            Assert.ThrowsException <ArgumentException>(() => command.Execute(parameters));
        }
Exemplo n.º 5
0
        public void ThrowArgumentException_WhenParsingFreeFoodBoolFails()
        {
            // Arange
            var databaseMock = new Mock <IDatabase>();
            var factoryMock  = new Mock <ITravellerFactory>();

            List <string> commandParams = new List <string>()
            {
                "12",
                "1",
                "maikoo"
            };

            var command = new CreateAirplaneCommand(factoryMock.Object, databaseMock.Object);

            // Act && Assert
            command.Execute(commandParams);
        }
Exemplo n.º 6
0
        public void ReturnSuccessMessage_WhenParametersAreCorrect()
        {
            // Arrange
            List <string> parameters = new List <string>();

            parameters.Add("250");
            parameters.Add("2.0");
            parameters.Add("true");

            string result = string.Format(SuccessMessageTemplate, 0);
            CreateAirplaneCommand command =
                new CreateAirplaneCommand(TravellerFactory.Instance, Engine.Instance);

            // Act
            string actualResult = command.Execute(parameters);

            // Assert
            Assert.AreEqual(result, actualResult);
        }