From 375da8024e7e262e5de513a3a8897997256f01cd Mon Sep 17 00:00:00 2001
From: "harald.martini@student.tugraz.at" <harald.martini@student.tugraz.at>
Date: Mon, 12 Jul 2021 09:56:32 +0200
Subject: [PATCH] Added Test for incompleted exempted vif

---
 Vecto3GUI2020Test/ViewModelTests/VIFTests.cs | 41 ++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/Vecto3GUI2020Test/ViewModelTests/VIFTests.cs b/Vecto3GUI2020Test/ViewModelTests/VIFTests.cs
index 3f7f27aaec..ff70c149c3 100644
--- a/Vecto3GUI2020Test/ViewModelTests/VIFTests.cs
+++ b/Vecto3GUI2020Test/ViewModelTests/VIFTests.cs
@@ -153,6 +153,47 @@ namespace Vecto3GUI2020Test.ViewModelTests
 		}
 
 
+		[Test]
+		public void CreateIncompletedExemptedVif()
+		{
+			var multistagevm = loadFile(exempted_primary_vif).MultiStageJobViewModel as MultiStageJobViewModel_v0_1;
+			var jobListVm = _kernel.Get<IJobListViewModel>();
+
+			var vehicleVm =
+				multistagevm.ManufacturingStageViewModel.VehicleViewModel as InterimStageBusVehicleViewModel_v2_8;
+
+			Assert.IsTrue(vehicleVm.ExemptedVehicle);
+			vehicleVm.Manufacturer = "Test Manufacturer 1";
+			vehicleVm.ManufacturerAddress = "Address";
+			vehicleVm.VIN = "123456789";
+			vehicleVm.Model = "Model";
+			//vehicleVm.LegislativeClass = LegislativeClass.M3;
+			vehicleVm.CurbMassChassis = Kilogram.Create(20000);
+			vehicleVm.GrossVehicleMassRating = Kilogram.Create(20000);
+			//vehicleVm.RegisteredClass = RegistrationClass.I_II;
+			vehicleVm.VehicleCode = VehicleCode.CC;
+			vehicleVm.LowEntry = true;
+			vehicleVm.Height = Meter.Create(2.6);
+			vehicleVm.NumberPassengerSeatsUpperDeck = 2;
+			vehicleVm.NumberPassengerSeatsLowerDeck = 10;
+
+
+
+
+			var vifName = multistagevm.SaveVif(TestHelper.GetMethodName() + ".xml");
+
+			Assert.NotNull(vifName);
+			WriteLine($"Written to {vifName}");
+			Assert.IsTrue(checkFileNameExists(vifName));
+
+			Assert.AreEqual(2, jobListVm.Jobs.Count);
+
+			Assert.IsFalse(jobListVm.Jobs[1].CanBeSimulated);
+			var invalidEntries = (jobListVm.Jobs[1].AdditionalJobInfoVm as AdditionalJobInfoViewModelMultiStage).InvalidEntries;
+			Assert.Contains(nameof(vehicleVm.LegislativeClass), invalidEntries);
+			Assert.Contains(nameof(vehicleVm.RegisteredClass), invalidEntries);
+		}
+
 
 		[Test]
 		public void TestAirdragLoadAndSave()
-- 
GitLab