From daccb13094aea4cf840ad03e7d68cce6d0fb4808 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Thu, 17 Jan 2019 10:19:01 +0100
Subject: [PATCH] removed NG CI as supported fuel type, update testcases
 accordingly

---
 VectoCore/VectoCoreTest/VectoCoreTest.csproj  |  3 ++
 .../XML/XMLDeclarationInputTest.cs            | 43 ++++++++++++++++++-
 2 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
index 42d68d4968..3d82ab7483 100644
--- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj
+++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
@@ -2812,8 +2812,11 @@
     <Content Include="TestData\Jobs\Tractor_4x2_vehicle-class-5_Generic vehicle.xml">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
+    <Content Include="TestData\XML\XMLReaderDeclaration\vecto_engine-input_sample.xml" />
     <Content Include="TestData\XML\XMLReaderDeclaration\vecto_engine-sample.xml" />
     <Content Include="TestData\XML\XMLReaderDeclaration\vecto_gearbox-sample.xml" />
+    <Content Include="TestData\XML\XMLReaderDeclaration\vecto_vehicle-exempted-sample.xml" />
+    <Content Include="TestData\XML\XMLReaderDeclaration\vecto_vehicle-new_parameters-sample.xml" />
     <Content Include="TestData\XML\XMLReaderDeclaration\vecto_vehicle-sample_exempted.xml">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs
index 908215df8b..c2c87a855d 100644
--- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs
+++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs
@@ -118,6 +118,11 @@ namespace TUGraz.VectoCore.Tests.XML
 					// new fuel labels end either with CI or PI, others are for backward compatibility. separate testcase
 					continue;
 				}
+
+				if (fuel.Equals("NG CI")) {
+					// not supported at the moment - can't be certified for engines
+					continue;
+				}
 				var reader = XmlReader.Create(SampleVehicleDecl);
 
 				var doc = new XmlDocument();
@@ -127,14 +132,14 @@ namespace TUGraz.VectoCore.Tests.XML
 				var helper = new XPathHelper(ExecutionMode.Declaration);
 				helper.AddNamespaces(manager);
 
-				var EngineFuelType = nav.SelectSingleNode(helper.QueryAbs(
+				var engineFuelType = nav.SelectSingleNode(helper.QueryAbs(
 						helper.NSPrefix(XMLNames.VectoInputDeclaration,
 							Constants.XML.RootNSPrefix),
 						XMLNames.Component_Vehicle,
 						XMLNames.Vehicle_Components,
 						XMLNames.Component_Engine, XMLNames.ComponentDataWrapper, XMLNames.Engine_FuelType),
 					manager);
-				EngineFuelType.SetValue(fuel);
+				engineFuelType.SetValue(fuel);
 				var modified = XmlReader.Create(new StringReader(nav.OuterXml));
 
 				var inputDataProvider = new XMLDeclarationInputDataProvider(modified,
@@ -146,6 +151,40 @@ namespace TUGraz.VectoCore.Tests.XML
 			}
 		}
 
+		[TestCase("NG CI", TankSystem.Liquefied),
+		TestCase("NG CI", TankSystem.Compressed),]
+		public void TestUnsupportedEngineFuelTypes(string fuel, TankSystem? tankSystem)
+		{
+			
+			var reader = XmlReader.Create(SampleVehicleDecl);
+
+			var doc = new XmlDocument();
+			doc.Load(reader);
+			var nav = doc.CreateNavigator();
+			var manager = new XmlNamespaceManager(nav.NameTable);
+			var helper = new XPathHelper(ExecutionMode.Declaration);
+			helper.AddNamespaces(manager);
+
+			var engineFuelType = nav.SelectSingleNode(helper.QueryAbs(
+														helper.NSPrefix(XMLNames.VectoInputDeclaration,
+																		Constants.XML.RootNSPrefix),
+														XMLNames.Component_Vehicle,
+														XMLNames.Vehicle_Components,
+														XMLNames.Component_Engine, XMLNames.ComponentDataWrapper, XMLNames.Engine_FuelType),
+													manager);
+			engineFuelType.SetValue(fuel);
+			var modified = XmlReader.Create(new StringReader(nav.OuterXml));
+
+			var inputDataProvider = new XMLDeclarationInputDataProvider(modified,
+																		true);
+			var fuelTyle = inputDataProvider.JobInputData.Vehicle.EngineInputData.FuelType;
+			Assert.AreEqual(fuel, fuelTyle.ToXMLFormat());
+			AssertHelper.Exception<VectoException>(
+				() => {
+					DeclarationData.FuelData.Lookup(fuelTyle, tankSystem);
+				});			
+		}
+
 		[TestCase]
 		public void TestXMLInputGbx()
 		{
-- 
GitLab