Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 48622b90 authored by Harald Martini's avatar Harald Martini
Browse files

changes in test methods

parent 101a9fe3
No related branches found
No related tags found
No related merge requests found
......@@ -53,6 +53,10 @@ namespace Vecto3GUI2020Test
Assert.True(checkFileExists(fileName));
}
[TestCase(primary_vehicle_only)]
[TestCase(consolidated_multiple_stages)]
[TestCase(consolidated_one_stage)]
......@@ -113,6 +117,15 @@ namespace Vecto3GUI2020Test
Assert.Null(vehicleViewModel_v2_8.ConsolidatedWidthInMm);
Assert.Null(vehicleViewModel_v2_8.ConsolidatedEntranceHeightInMm);
Assert.IsFalse(vehicleViewModel_v2_8.AirdragModifiedMultistageEditingEnabled);
Assert.IsNull(vehicleViewModel_v2_8.AirdragModifiedMultistage);
Assert.IsNull(vehicleViewModel_v2_8.ConsolidatedAirdragmodified);
Assert.IsNull(vehicleViewModel_v2_8.AirdragModifiedEnum);
Assert.AreEqual(vehicleViewModel_v2_8.AirdragModifiedMultistageEditingEnabled, false);
Assert.Null(vehicleViewModel_v2_8.BusAuxiliaries);
......@@ -123,6 +136,10 @@ namespace Vecto3GUI2020Test
}
......@@ -199,11 +216,76 @@ namespace Vecto3GUI2020Test
Assert.NotNull(airdrag.AirDragViewModel.XMLSource);
TestADASInput(vehicle);
TestComponents(vehicle.Components);
TestAirdragComponent(vehicle.Components.AirdragInputData);
TestAuxiliariesComponent(vehicle.BusAuxiliaries);
}
private void TestADASInput(IVehicleDeclarationInputData vehicle)
{
Assert.AreEqual(true, vehicle.ADAS.EngineStopStart);
Assert.AreEqual(EcoRollType.None, vehicle.ADAS.EcoRoll);
Assert.AreEqual(PredictiveCruiseControlType.None, vehicle.ADAS.PredictiveCruiseControl);
Assert.AreEqual(true, vehicle.ADAS.ATEcoRollReleaseLockupClutch);
}
private void TestComponents(IVehicleComponentsDeclaration components)
{
TestAirdragComponent(components.AirdragInputData);
TestAuxiliariesComponent(components.BusAuxiliaries);
}
private void TestAirdragComponent(IAirdragDeclarationInputData airdrag)
{
Assert.AreEqual("Generic Manufacturer", airdrag.Manufacturer);
Assert.AreEqual("Generic Model", airdrag.Model);
Assert.AreEqual("e12*0815/8051*2017/05E0000*00", airdrag.CertificationNumber);
Assert.AreEqual(DateTime.Parse("2017-03-24T15:00:00Z").ToUniversalTime(), airdrag.Date);
Assert.AreEqual("Vecto AirDrag x.y", airdrag.AppVersion);
Assert.AreEqual(6.34, airdrag.AirDragArea.Value());
}
private void TestAuxiliariesComponent(IBusAuxiliariesDeclarationData busAux)
{
TestLedLightsComponent(busAux.ElectricConsumers);
TestHVACComponent(busAux.HVACAux);
}
private void TestLedLightsComponent(IElectricConsumersDeclarationData electricConsumer)
{
Assert.AreEqual(false, electricConsumer.InteriorLightsLED);
Assert.AreEqual(true, electricConsumer.DayrunninglightsLED);
Assert.AreEqual(true, electricConsumer.PositionlightsLED);
Assert.AreEqual(true, electricConsumer.BrakelightsLED);
Assert.AreEqual(false, electricConsumer.HeadlightsLED);
}
private void TestHVACComponent(IHVACBusAuxiliariesDeclarationData hvacAux)
{
Assert.AreEqual(BusHVACSystemConfiguration.Configuration0, hvacAux.SystemConfiguration);
Assert.AreEqual(HeatPumpType.none, hvacAux.HeatPumpTypeDriverCompartment);
Assert.AreEqual(HeatPumpMode.heating, hvacAux.HeatPumpModeDriverCompartment);
Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpTypePassengerCompartment);
Assert.AreEqual(HeatPumpMode.cooling, hvacAux.HeatPumpModePassengerCompartment);
Assert.AreEqual(50, hvacAux.AuxHeaterPower.Value());
Assert.AreEqual(false, hvacAux.DoubleGlazing);
Assert.AreEqual(true, hvacAux.AdjustableAuxiliaryHeater);
Assert.AreEqual(false, hvacAux.SeparateAirDistributionDucts);
Assert.AreEqual(true, hvacAux.WaterElectricHeater);
Assert.AreEqual(false, hvacAux.AirElectricHeater);
Assert.AreEqual(false, hvacAux.OtherHeatingTechnology);
}
#region Helper
#endregion
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Vecto3GUI2020Test.ViewModelTests
{
internal class TestExtensions
{
}
}
......@@ -32,12 +32,38 @@ namespace Vecto3GUI2020Test.ViewModelTests
var outputFile = primary_vehicle_only.Replace(".xml", "_vif_output_mandatory_fields.xml");
deleteFile(outputFile);
getMockDialogHelper(null, fileToSave: primary_vehicle_only.Replace(".xml", "_vif_output.xml"));
getMockDialogHelper(null, fileToSave: outputFile);
_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(null, outputFile).Object);
MultiStageJobViewModel_v0_1.SaveVif(multistagevm, outputFile);
var multistageConcrete = multistagevm as MultiStageJobViewModel_v0_1;
multistageConcrete.SaveVIFCommand.Execute(null);
Assert.IsTrue(checkFileExists(outputFile));
}
[Test]
public void LoadPrimaryVehicleAndStageInputThenCreateVif()
{
var multistagevm = loadFile(primary_vehicle_only).MultiStageJobViewModel;
loadVehicleData(multistagevm as MultiStageJobViewModel_v0_1, stageInputFullSample);
var outputFile = "/output/loadPrimaryAndAddStageInput.xml";
//deleteFile(outputFile);
var mockDialogHelper = getMockDialogHelper(null, fileToSave: outputFile);
Debug.WriteLine($"Write to {mockDialogHelper.Object.SaveToXMLDialog()}");
var multistageVMConc = multistagevm as MultiStageJobViewModel_v0_1;
MultiStageJobViewModel_v0_1.SaveVif(multistageVMConc, mockDialogHelper.Object.SaveToXMLDialog());
//multistageVMConc.SaveVIFCommand.Execute(null);
//Assert.IsTrue(checkFileExists(outputFile));
}
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;
using TUGraz.VectoCommon.InputData;
using VECTO3GUI2020.ViewModel.MultiStage.Implementation;
namespace Vecto3GUI2020Test.ViewModelTests
{
[TestFixture]
public class VehicleViewModelTests : ViewModelTestBase
{
#region Airdrag
[Test]
public void airdragModifiedInPreviousStages()
{
var vm = loadFile(consolidated_multiple_stages_airdrag);
var vehicleVM = vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as
DeclarationInterimStageBusVehicleViewModel_v2_8;
Assert.IsTrue(vehicleVM.AirdragModifiedMultistageEditingEnabled);
//try to change to false
vehicleVM.AirdragModifiedMultistage = false; //should not change the value
Assert.IsTrue(vehicleVM.AirdragModifiedMultistageEditingEnabled);
}
[Test]
public void airdragNotModifiedInPreviousStages()
{
var vm = loadFile(consolidated_multiple_stages);
var vehicleVM =
vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as
DeclarationInterimStageBusVehicleViewModel_v2_8;
Assert.IsFalse(vehicleVM.AirdragModifiedMultistageEditingEnabled);
}
#endregion
#region ADAS
[Test]
public void loadPrimaryAndEdit()
{
var vm = loadFile(primary_vehicle_only);
Assert.NotNull(vm);
var vehicleViewModel =
vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as
DeclarationInterimStageBusVehicleViewModel_v2_8;
var vehicleData = vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle;
vehicleViewModel.EcoRollTypeNullable = EcoRollType.WithEngineStop;
Assert.NotNull(vehicleData.ADAS);
vehicleViewModel.EcoRollTypeNullable = null;
Assert.Null(vehicleData.ADAS);
}
#endregion
}
}
using System;
using System.Diagnostics;
using System.IO;
using Moq;
using Ninject;
......@@ -24,8 +25,14 @@ namespace Vecto3GUI2020Test
protected const string consolidated_one_stage = "vecto_multistage_consolidated_one_stage.xml";
protected const string primary_vehicle_only = "vecto_multistage_primary_vehicle_only.xml";
protected const string stageInputFullSample = "vecto_vehicle-stage_input_full-sample.xml";
protected IXMLInputDataReader xmlInputReader;
protected IKernel _kernel;
private Mock<IDialogHelper> _mockDialogHelper = new Mock<IDialogHelper>();
[SetUp]
public void OneTimeSetUp()
......@@ -40,6 +47,7 @@ namespace Vecto3GUI2020Test
new MultistageModule()
);
xmlInputReader = _kernel.Get<IXMLInputDataReader>();
}
......@@ -104,29 +112,48 @@ namespace Vecto3GUI2020Test
return newMultistageJobViewModel;
}
protected void loadVehicleData(MultiStageJobViewModel_v0_1 multiStageViewModel, string inputFile)
{
var vehicleInputData = Path.GetFullPath(DirPath + inputFile);
Assert.IsTrue(File.Exists(vehicleInputData));
var vehicleInputDataFiledialogMock = new Mock<IDialogHelper>();
vehicleInputDataFiledialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(vehicleInputData);
vehicleInputDataFiledialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(vehicleInputData);
_kernel.Rebind<IDialogHelper>().ToConstant(vehicleInputDataFiledialogMock.Object);
multiStageViewModel.LoadVehicleDataCommand.Execute(null);
}
protected Mock<IDialogHelper> getMockDialogHelper(string fileToLoad = null, string fileToSave = null)
{
Mock<IDialogHelper> mockDialogHelper = null;
if (_mockDialogHelper == null) {
_mockDialogHelper = new Mock<IDialogHelper>();
}
if (fileToLoad != null) {
var filePath = Path.GetFullPath(DirPath + fileToLoad);
Assert.NotNull(filePath);
mockDialogHelper = new Mock<IDialogHelper>();
mockDialogHelper.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(filePath);
mockDialogHelper.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(filePath);
_mockDialogHelper.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(filePath);
_mockDialogHelper.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(filePath);
Debug.WriteLine($"Created MOCKDIALOGHELPER, returns {filePath} for OpenXMLFileDialog()");
}
if (fileToSave != null) {
var filePath = Path.GetFullPath(DirPath + fileToSave);
mockDialogHelper = mockDialogHelper ?? new Mock<IDialogHelper>();
mockDialogHelper.Setup(dialogHelper =>
_mockDialogHelper.Setup(dialogHelper =>
dialogHelper.SaveToXMLDialog(It.IsAny<string>())).Returns(filePath);
mockDialogHelper.Setup(dialogHelper =>
_mockDialogHelper.Setup(dialogHelper =>
dialogHelper.SaveToXMLDialog(null)).Returns(filePath);
Debug.WriteLine($"Created MOCKDIALOGHELPER, returns {filePath} for SaveToXMLFileDialog()");
}
return mockDialogHelper;
return _mockDialogHelper;
}
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment