From 15f5ca5ba6355c7834593ed68f97f71dfdf877dc Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Fri, 9 Nov 2018 08:41:32 +0100 Subject: [PATCH] updating testcase for fuel types, new testcase for legacy fuel type names --- .../XSD/VectoDeclarationDefinitions.1.0.xsd | 6 +-- .../XML/XMLDeclarationInputTest.cs | 38 +++++++++++++++++++ 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.1.0.xsd b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.1.0.xsd index 1482f2acb9..1aa3a4afe4 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.1.0.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoDeclarationDefinitions.1.0.xsd @@ -1813,9 +1813,9 @@ ToDo: -0.00 <xs:enumeration value="LPG PI"/> <xs:enumeration value="NG PI"/> <xs:enumeration value="NG CI"/> - <!-- == LPG PI --> - <!-- == NG PI --> - <!-- dual fuel --> + <!-- LPG == LPG PI --> + <!-- NG== NG PI --> + <!-- NG CI => dual fuel --> </xs:restriction> </xs:simpleType> <xs:simpleType name="GearboxCertificationOptionType"> diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs index af41e4aeb5..db7f7a7ee8 100644 --- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs @@ -114,6 +114,10 @@ namespace TUGraz.VectoCore.Tests.XML { var fuelTypes = GetEnumOptions("FuelTypeType", "1.0"); foreach (var fuel in fuelTypes) { + if (!(fuel.EndsWith("CI") || fuel.EndsWith("PI"))) { + // new fuel labels end either with CI or PI, others are for backward compatibility. separate testcase + continue; + } var reader = XmlReader.Create(SampleVehicleDecl); var doc = new XmlDocument(); @@ -1014,6 +1018,40 @@ namespace TUGraz.VectoCore.Tests.XML Assert.AreEqual(VehicleCategory.RigidTruck, vehCategory); } + [TestCase(SampleVehicleFullDecl, "LPG", FuelType.LPGPI), + TestCase(SampleVehicleDecl, "NG", FuelType.NGPI)] + public void TestFuelTypesLNGandNGBackwardCompatibility(string file, string value, FuelType expectedFuelType) + { + var reader = XmlReader.Create(file); + + 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 fuelTypeNode = 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); + + fuelTypeNode.SetValue(value); + + var modified = XmlReader.Create(new StringReader(nav.OuterXml)); + + var inputDataProvider = new XMLDeclarationInputDataProvider(modified, true); + + var fuelType = inputDataProvider.JobInputData.Vehicle.EngineInputData.FuelType; + + Assert.AreEqual(expectedFuelType, fuelType); + } + public static string[] GetEnumOptions(string xmlType, string schemaVersion) { Stream resource; -- GitLab