From af30087bc10c752ac77d6f40baa50106a3ce5bf2 Mon Sep 17 00:00:00 2001 From: "harald.martini@student.tugraz.at" <harald.martini@student.tugraz.at> Date: Tue, 8 Jun 2021 14:06:19 +0200 Subject: [PATCH] Adapted Airdrag modified behaviour and added Test cases --- .../InterimStageBusVehicleViewModel_v2_8.cs | 6 +- .../MultistageAirdragViewModel.cs | 27 +- .../Interfaces/IMultistageAirdragViewModel.cs | 3 + Vecto3GUI2020Test/Vecto3GUI2020Test.csproj | 3 + .../ViewModelTests/AirdragTests.cs | 283 ++++++++++++++++++ .../ViewModelTests/VehicleViewModelTests.cs | 177 ----------- 6 files changed, 320 insertions(+), 179 deletions(-) create mode 100644 Vecto3GUI2020Test/ViewModelTests/AirdragTests.cs diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs index 1f5416b9a7..6acdf14367 100644 --- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs +++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs @@ -151,7 +151,9 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation MultistageAirdragViewModel.AirdragViewModelChanged += ((sender, args) => { if (sender is IMultistageAirdragViewModel vm) { if (AirdragModifiedMultistageMandatory) { - AirdragModifiedMultistage = vm.AirDragViewModel != null; + if (vm.AirDragViewModel != null) { + AirdragModifiedMultistage = true; + } } } }); @@ -648,6 +650,8 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation if (SetProperty(ref _airdragModifiedMultistage, value)) { if(value == false){ MultistageAirdragViewModel.AirDragViewModel = null; + } else { + MultistageAirdragViewModel.RestoreAirdragViewModel(); } AirdragModifiedEnum = value.toAirdragModifiedEnum(); }; diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAirdragViewModel.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAirdragViewModel.cs index 34d5ce7038..03e0394b89 100644 --- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAirdragViewModel.cs +++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAirdragViewModel.cs @@ -17,6 +17,7 @@ using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.XML; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory; +using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Utils; using VECTO3GUI2020.Helper; using VECTO3GUI2020.Ninject; @@ -54,12 +55,29 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation get => _airdragViewModel; set { + StoreAirdragViewModel(); if (SetProperty(ref _airdragViewModel, value)) { OnAirdragViewModelChanged(); }; } } + private void StoreAirdragViewModel() + { + if (AirDragViewModel != null && StoredAirdragViewModel != AirDragViewModel) { + StoredAirdragViewModel = AirDragViewModel; + } + } + + public void RestoreAirdragViewModel() + { + if (AirDragViewModel == null) { + AirDragViewModel = StoredAirdragViewModel; + } + } + + private IAirDragViewModel StoredAirdragViewModel { get; set; } = null; + public void SetAirdragInputData(IAirdragDeclarationInputData airdragInputData) { @@ -185,13 +203,20 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation public ICommand RemoveAirdragDataCommand{ get => _removeAirdragDataCommand ?? new RelayCommand(() => { - AirDragViewModel = null; + RemoveAirdragComponent(); OnPropertyChanged(nameof(AirdragFilePath)); }, () => AirDragViewModel != null); } #endregion + public void RemoveAirdragComponent() + { + AirDragViewModel = null; + StoredAirdragViewModel = null; + OnPropertyChanged(nameof(AirdragFilePath)); + + } diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Interfaces/IMultistageAirdragViewModel.cs b/VECTO3GUI2020/ViewModel/MultiStage/Interfaces/IMultistageAirdragViewModel.cs index f56fe95e90..865e3d14f1 100644 --- a/VECTO3GUI2020/ViewModel/MultiStage/Interfaces/IMultistageAirdragViewModel.cs +++ b/VECTO3GUI2020/ViewModel/MultiStage/Interfaces/IMultistageAirdragViewModel.cs @@ -11,5 +11,8 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Interfaces void SetAirdragInputData(IAirdragDeclarationInputData airdragInputData); bool LoadAirdragFile(string fileName); + void RestoreAirdragViewModel(); + + void RemoveAirdragComponent(); } } \ No newline at end of file diff --git a/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj b/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj index 25b0d573f0..61e6686bd1 100644 --- a/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj +++ b/Vecto3GUI2020Test/Vecto3GUI2020Test.csproj @@ -93,6 +93,9 @@ </ItemGroup> <ItemGroup> + <Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework"> + <HintPath>..\..\..\..\..\..\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll</HintPath> + </Reference> <Reference Include="PresentationFramework" /> </ItemGroup> diff --git a/Vecto3GUI2020Test/ViewModelTests/AirdragTests.cs b/Vecto3GUI2020Test/ViewModelTests/AirdragTests.cs new file mode 100644 index 0000000000..c16e5ed257 --- /dev/null +++ b/Vecto3GUI2020Test/ViewModelTests/AirdragTests.cs @@ -0,0 +1,283 @@ +using NUnit.Framework; +using VECTO3GUI2020.ViewModel.MultiStage.Implementation; + +namespace Vecto3GUI2020Test.ViewModelTests +{ + [TestFixture] + public class AirdragTests : ViewModelTestBase + { + /* + * Airdrag component loaded -> Airdragmodified true (if mandatory) + Airdrag component deleted -> Airdragmodified unchanged + Airdrag modified false -> Airdragcomponent set to null (& temporarily saved) + Airdrag modified true -> Airdragcomponent unchanged + * + * + */ + + #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); + } + + /// <summary> + /// 1st interim stage adds AirDrag component + /// => 'AirdragModifiedMultistage' not present in input, VIF 2, Airdrag Component in VIF + /// => 'AirdragModifiedMultistage' required in all consecutive stages + /// </summary> + [Test] + public void airdragComponentLoadedFirstTime() + { + ///Load VIF without airdrag + + var vm = loadFile(primary_vehicle_only); + var vehicleVM = + vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as + DeclarationInterimStageBusVehicleViewModel_v2_8; + + Assert.IsNull(vehicleVM.AirdragModifiedMultistage); + + var airdragViewModel = vehicleVM.MultistageAirdragViewModel as MultistageAirdragViewModel; + Assert.IsTrue(airdragViewModel.LoadAirdragFile(GetFullPath(airdragLoadTestFile))); + + Assert.IsNull(vehicleVM.AirdragModifiedMultistage); + Assert.IsFalse(vehicleVM.AirdragModifiedMultistageMandatory); + + vehicleVM.AirdragModifiedMultistageEditingEnabled = true; + Assert.IsFalse(vehicleVM.AirdragModifiedMultistageEditingEnabled); + + Assert.IsNull(vehicleVM.AirdragModifiedMultistage); + + //Set Mandatory Fields + vehicleVM.Manufacturer = "testManufacturer"; + vehicleVM.ManufacturerAddress = "Address"; + vehicleVM.VIN = "123456789"; + + //Save as new VIF + var multistageJobViewModel = vm.MultiStageJobViewModel as MultiStageJobViewModel_v0_1; + var outputName = "AidragLoadedInFirstStage"; + multistageJobViewModel.SaveVif(GetFullPath($"{outputName}.xml")); + + var resultFile = $"{outputName}.VIF_Report_2.xml"; + Assert.IsTrue(checkFileNameExists(resultFile)); + var secondstageVM = loadFile(resultFile); + Assert.IsNotNull(secondstageVM); + var secondStageVehicleVM = + (secondstageVM.MultiStageJobViewModel.ManufacturingStageViewModel.VehicleViewModel) as + DeclarationInterimStageBusVehicleViewModel_v2_8; + Assert.IsTrue(secondStageVehicleVM.AirdragModifiedMultistageEditingEnabled); + Assert.IsTrue(secondStageVehicleVM.AirdragModifiedMultistageMandatory); + Assert.IsNull(secondStageVehicleVM.ConsolidatedVehicleData.AirdragModifiedMultistage); + + //try to disable AirdragModified + secondStageVehicleVM.AirdragModifiedMultistageEditingEnabled = false; + Assert.IsTrue(secondStageVehicleVM.AirdragModifiedMultistageEditingEnabled); + } + /// <summary> + /// no airdrag component set in VIF => AirdragModifiedMultistage is disabled + /// </summary> + [Test] + public void airdragModifiedDisabled() + { + var vm = loadFile(primary_vehicle_only); + var vehicleVM = + vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as + DeclarationInterimStageBusVehicleViewModel_v2_8; + + Assert.IsNull(vehicleVM.AirdragModifiedMultistage); + + Assert.IsNull(vehicleVM.AirdragModifiedMultistage); + Assert.IsFalse(vehicleVM.AirdragModifiedMultistageMandatory); + + var airdragViewModel = vehicleVM.MultistageAirdragViewModel; + Assert.IsTrue(airdragViewModel.LoadAirdragFile(GetFullPath(airdragLoadTestFile)), "Airdrag file not loaded"); + Assert.IsFalse(vehicleVM.AirdragModifiedMultistageMandatory); + + vehicleVM.AirdragModifiedMultistageEditingEnabled = true; + Assert.IsFalse(vehicleVM.AirdragModifiedMultistageEditingEnabled); + + } + /// <summary> + /// airdrag component is in VIF set => AirdragModifiedMultistage is mandatory + /// </summary> + [Test] + + public void airdragModifiedMandatory() + { + //var vm = loadFile(primary_vehicle_only); + //var vehicleVM = + // vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as + // DeclarationInterimStageBusVehicleViewModel_v2_8; + + //Assert.IsNull(vehicleVM.AirdragModifiedMultistage); + + //Assert.IsNull(vehicleVM.AirdragModifiedMultistage); + //Assert.IsFalse(vehicleVM.AirdragModifiedMultistageMandatory); + + //vehicleVM.AirdragModifiedMultistageEditingEnabled = true; + //Assert.IsFalse(vehicleVM.AirdragModifiedMultistageEditingEnabled); + + } + + [Test] + public void temporarySaveAirdragComponent1() + { + var vm = loadFile(consolidated_multiple_stages_airdrag); + + var vehicleViewModel = vm.MultiStageJobViewModel.ManufacturingStageViewModel.VehicleViewModel as DeclarationInterimStageBusVehicleViewModel_v2_8; + + Assert.IsNull(vehicleViewModel.AirdragModifiedMultistage); + + + //Load airdrag file + var airdragLoaded = vehicleViewModel.MultistageAirdragViewModel.LoadAirdragFile(GetFullPath(airdragLoadTestFile)); + var loadedAirdragComponent = vehicleViewModel.MultistageAirdragViewModel.AirDragViewModel; + Assert.IsTrue(airdragLoaded, "Airdrag file was not loaded"); + + //Airdrag modified set to true if a component is loaded and the field is mandatory + Assert.IsTrue(vehicleViewModel.AirdragModifiedMultistage); + Assert.IsTrue(vehicleViewModel.AirdragModifiedMultistageMandatory); + Assert.AreEqual( + AIRDRAGMODIFIED.TRUE, + vehicleViewModel.ParameterViewModels[nameof(vehicleViewModel.AirdragModifiedEnum)].CurrentContent); + + vehicleViewModel.AirdragModifiedMultistage = false; + Assert.AreEqual(AIRDRAGMODIFIED.FALSE,vehicleViewModel.ParameterViewModels[nameof(vehicleViewModel.AirdragModifiedEnum)].CurrentContent); + Assert.IsNull(vehicleViewModel.Components?.AirdragInputData); + Assert.IsNull(vehicleViewModel.MultistageAirdragViewModel.AirDragViewModel); + + vehicleViewModel.AirdragModifiedMultistage = true; + Assert.AreEqual(loadedAirdragComponent, vehicleViewModel.MultistageAirdragViewModel.AirDragViewModel); + + } + + [Test] + public void temporarySaveAirdragComponent2() + { + var vm = loadFile(consolidated_multiple_stages_airdrag); + + var vehicleViewModel = vm.MultiStageJobViewModel.ManufacturingStageViewModel.VehicleViewModel as DeclarationInterimStageBusVehicleViewModel_v2_8; + + Assert.IsNull(vehicleViewModel.AirdragModifiedMultistage); + + + //Load input file + var multistageJobViewModel = vm.MultiStageJobViewModel as MultiStageJobViewModel_v0_1; + var mockDialogHelper = setMockDialogHelper(stageInputFullSample, null); + multistageJobViewModel.LoadVehicleDataCommand.Execute(null); + + + + + var loadedAirdragComponent = vehicleViewModel.MultistageAirdragViewModel.AirDragViewModel; + Assert.NotNull(loadedAirdragComponent); + + //Airdrag modified set to true if a component is loaded and the field is mandatory + Assert.IsTrue(vehicleViewModel.AirdragModifiedMultistage); + Assert.IsTrue(vehicleViewModel.AirdragModifiedMultistageMandatory); + Assert.AreEqual( + AIRDRAGMODIFIED.TRUE, + vehicleViewModel.ParameterViewModels[nameof(vehicleViewModel.AirdragModifiedEnum)].CurrentContent); + + vehicleViewModel.AirdragModifiedMultistage = false; + Assert.AreEqual(AIRDRAGMODIFIED.FALSE, vehicleViewModel.ParameterViewModels[nameof(vehicleViewModel.AirdragModifiedEnum)].CurrentContent); + Assert.IsNull(vehicleViewModel.Components?.AirdragInputData); + Assert.IsNull(vehicleViewModel.MultistageAirdragViewModel.AirDragViewModel); + + vehicleViewModel.AirdragModifiedMultistage = true; + Assert.AreEqual(loadedAirdragComponent, vehicleViewModel.MultistageAirdragViewModel.AirDragViewModel); + + } + + [Test] + public void removeAirdragComponent() + { + var vm = loadFile(consolidated_multiple_stages_airdrag); + + var vehicleViewModel = vm.MultiStageJobViewModel.ManufacturingStageViewModel.VehicleViewModel as DeclarationInterimStageBusVehicleViewModel_v2_8; + + Assert.IsNull(vehicleViewModel.AirdragModifiedMultistage); + + + //Load input file + var multistageJobViewModel = vm.MultiStageJobViewModel as MultiStageJobViewModel_v0_1; + var mockDialogHelper = setMockDialogHelper(stageInputFullSample, null); + multistageJobViewModel.LoadVehicleDataCommand.Execute(null); + + + Assert.IsTrue(vehicleViewModel.AirdragModifiedMultistage); + vehicleViewModel.MultistageAirdragViewModel.RemoveAirdragComponent(); //remove airdrag viewmodel; + Assert.IsTrue(vehicleViewModel.AirdragModifiedMultistage); + + + + } + + + + + [Test] + public void airdragModifiedSetToTrueWhenComponentIsLoaded() + { + var vm = loadFile(consolidated_multiple_stages_airdrag); + + var vehicleViewModel = vm.MultiStageJobViewModel.ManufacturingStageViewModel.VehicleViewModel as DeclarationInterimStageBusVehicleViewModel_v2_8; + + Assert.IsNull(vehicleViewModel.AirdragModifiedMultistage); + + + //Load airdrag file + var airdragLoaded = vehicleViewModel.MultistageAirdragViewModel.LoadAirdragFile(GetFullPath(airdragLoadTestFile)); + Assert.IsTrue(airdragLoaded, "Airdrag file was not loaded"); + + //Airdrag modified set to true if a component is loaded and the field is mandatory + Assert.IsTrue(vehicleViewModel.AirdragModifiedMultistage); + Assert.IsTrue(vehicleViewModel.AirdragModifiedMultistageMandatory); + Assert.AreEqual( + AIRDRAGMODIFIED.TRUE, + vehicleViewModel.ParameterViewModels[nameof(vehicleViewModel.AirdragModifiedEnum)].CurrentContent); + + //Airdrag modified set to false if the component is removed + vehicleViewModel.MultistageAirdragViewModel.RemoveAirdragComponent(); + Assert.IsTrue(vehicleViewModel.AirdragModifiedMultistage); + + //AirdragComponent is removed when airdragmodified is set to false; + //Load airdrag file + airdragLoaded = vehicleViewModel.MultistageAirdragViewModel.LoadAirdragFile(GetFullPath(airdragLoadTestFile)); + Assert.IsTrue(airdragLoaded, "Airdrag file was not loaded"); + + vehicleViewModel.AirdragModifiedMultistage = false; + Assert.IsNull(vehicleViewModel.MultistageAirdragViewModel.AirDragViewModel); + + + } + + #endregion + + + } +} diff --git a/Vecto3GUI2020Test/ViewModelTests/VehicleViewModelTests.cs b/Vecto3GUI2020Test/ViewModelTests/VehicleViewModelTests.cs index de0b132929..7f5d3ef569 100644 --- a/Vecto3GUI2020Test/ViewModelTests/VehicleViewModelTests.cs +++ b/Vecto3GUI2020Test/ViewModelTests/VehicleViewModelTests.cs @@ -19,176 +19,6 @@ 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); - } - - /// <summary> - /// 1st interim stage adds AirDrag component - /// => 'AirdragModifiedMultistage' not present in input, VIF 2, Airdrag Component in VIF - /// => 'AirdragModifiedMultistage' required in all consecutive stages - /// </summary> - [Test] - public void airdragComponentLoadedFirstTime() - { - ///Load VIF without airdrag - - var vm = loadFile(primary_vehicle_only); - var vehicleVM = - vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as - DeclarationInterimStageBusVehicleViewModel_v2_8; - - Assert.IsNull(vehicleVM.AirdragModifiedMultistage); - - var airdragViewModel = vehicleVM.MultistageAirdragViewModel as MultistageAirdragViewModel; - Assert.IsTrue(airdragViewModel.LoadAirdragFile(GetFullPath(airdragLoadTestFile))); - - Assert.IsNull(vehicleVM.AirdragModifiedMultistage); - Assert.IsFalse(vehicleVM.AirdragModifiedMultistageMandatory); - - vehicleVM.AirdragModifiedMultistageEditingEnabled = true; - Assert.IsFalse(vehicleVM.AirdragModifiedMultistageEditingEnabled); - - Assert.IsNull(vehicleVM.AirdragModifiedMultistage); - - //Set Mandatory Fields - vehicleVM.Manufacturer = "testManufacturer"; - vehicleVM.ManufacturerAddress = "Address"; - vehicleVM.VIN = "123456789"; - - //Save as new VIF - var multistageJobViewModel = vm.MultiStageJobViewModel as MultiStageJobViewModel_v0_1; - var outputName = "AidragLoadedInFirstStage"; - multistageJobViewModel.SaveVif(GetFullPath($"{outputName}.xml")); - - var resultFile = $"{outputName}.VIF_Report_2.xml"; - Assert.IsTrue(checkFileNameExists(resultFile)); - var secondstageVM = loadFile(resultFile); - Assert.IsNotNull(secondstageVM); - var secondStageVehicleVM = - (secondstageVM.MultiStageJobViewModel.ManufacturingStageViewModel.VehicleViewModel) as - DeclarationInterimStageBusVehicleViewModel_v2_8; - Assert.IsTrue(secondStageVehicleVM.AirdragModifiedMultistageEditingEnabled); - Assert.IsTrue(secondStageVehicleVM.AirdragModifiedMultistageMandatory); - Assert.IsNull(secondStageVehicleVM.ConsolidatedVehicleData.AirdragModifiedMultistage); - - //try to disable AirdragModified - secondStageVehicleVM.AirdragModifiedMultistageEditingEnabled = false; - Assert.IsTrue(secondStageVehicleVM.AirdragModifiedMultistageEditingEnabled); - } - /// <summary> - /// no airdrag component set in VIF => AirdragModifiedMultistage is disabled - /// </summary> - [Test] - public void airdragModifiedDisabled() - { - var vm = loadFile(primary_vehicle_only); - var vehicleVM = - vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as - DeclarationInterimStageBusVehicleViewModel_v2_8; - - Assert.IsNull(vehicleVM.AirdragModifiedMultistage); - - Assert.IsNull(vehicleVM.AirdragModifiedMultistage); - Assert.IsFalse(vehicleVM.AirdragModifiedMultistageMandatory); - - var airdragViewModel = vehicleVM.MultistageAirdragViewModel; - Assert.IsTrue(airdragViewModel.LoadAirdragFile(GetFullPath(airdragLoadTestFile)), "Airdrag file not loaded"); - Assert.IsFalse(vehicleVM.AirdragModifiedMultistageMandatory); - - vehicleVM.AirdragModifiedMultistageEditingEnabled = true; - Assert.IsFalse(vehicleVM.AirdragModifiedMultistageEditingEnabled); - - } - /// <summary> - /// airdrag component is in VIF set => AirdragModifiedMultistage is mandatory - /// </summary> - [Test] - - public void airdragModifiedMandatory() - { - //var vm = loadFile(primary_vehicle_only); - //var vehicleVM = - // vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as - // DeclarationInterimStageBusVehicleViewModel_v2_8; - - //Assert.IsNull(vehicleVM.AirdragModifiedMultistage); - - //Assert.IsNull(vehicleVM.AirdragModifiedMultistage); - //Assert.IsFalse(vehicleVM.AirdragModifiedMultistageMandatory); - - //vehicleVM.AirdragModifiedMultistageEditingEnabled = true; - //Assert.IsFalse(vehicleVM.AirdragModifiedMultistageEditingEnabled); - - } - - [Test] - public void airdragModifiedSetToTrueWhenComponentIsLoaded() - { - var vm = loadFile(consolidated_multiple_stages_airdrag); - - var vehicleViewModel = vm.MultiStageJobViewModel.ManufacturingStageViewModel.VehicleViewModel as DeclarationInterimStageBusVehicleViewModel_v2_8; - - Assert.IsNull(vehicleViewModel.AirdragModifiedMultistage); - - - //Load airdrag file - var airdragLoaded = vehicleViewModel.MultistageAirdragViewModel.LoadAirdragFile(GetFullPath(airdragLoadTestFile)); - Assert.IsTrue(airdragLoaded, "Airdrag file was not loaded"); - - //Airdrag modified set to true if a component is loaded and the field is mandatory - Assert.IsTrue(vehicleViewModel.AirdragModifiedMultistage); - Assert.IsTrue(vehicleViewModel.AirdragModifiedMultistageMandatory); - Assert.AreEqual( - AIRDRAGMODIFIED.TRUE, - vehicleViewModel.ParameterViewModels[nameof(vehicleViewModel.AirdragModifiedEnum)].CurrentContent); - - //Airdrag modified set to false if the component is removed - vehicleViewModel.MultistageAirdragViewModel.AirDragViewModel = null; - Assert.IsFalse(vehicleViewModel.AirdragModifiedMultistage); - - //AirdragComponent is removed when airdragmodified is set to false; - //Load airdrag file - airdragLoaded = vehicleViewModel.MultistageAirdragViewModel.LoadAirdragFile(GetFullPath(airdragLoadTestFile)); - Assert.IsTrue(airdragLoaded, "Airdrag file was not loaded"); - - vehicleViewModel.AirdragModifiedMultistage = false; - Assert.IsNull(vehicleViewModel.MultistageAirdragViewModel.AirDragViewModel); - - - } - - - - - #endregion - [Test] public void restoreValuesWhenEditingAgain() { @@ -339,19 +169,12 @@ namespace Vecto3GUI2020Test.ViewModelTests var vehicleData = vm.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle; - - vehicleViewModel.EcoRollTypeNullable = EcoRollType.WithEngineStop; Assert.NotNull(vehicleData.ADAS); - vehicleViewModel.EcoRollTypeNullable = null; Assert.Null(vehicleData.ADAS); - - - - } -- GitLab