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]); }
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); }
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)); }
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)); }
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); }
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); }