diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs index 6db977c721951a882b9e3bc74d7553f69f85a625..a0b36cdf6e89b5f6a7495cbe3784d3e46d82e877 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs @@ -501,12 +501,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public override Watt MaxNetPower1 { - get { return GetDouble(XMLNames.Vehicle_MaxNetPower1).SI<Watt>(); } + get { return HybridElectricHDV ? GetDouble(XMLNames.Vehicle_MaxNetPower1).SI<Watt>() : null; } } public override Watt MaxNetPower2 { - get { return GetDouble(XMLNames.Vehicle_MaxNetPower2).SI<Watt>(); } + get { return HybridElectricHDV ? GetDouble(XMLNames.Vehicle_MaxNetPower2).SI<Watt>() : null; } } public override IVehicleComponentsDeclaration Components diff --git a/VectoCore/VectoCoreTest/Integration/Declaration/ExemptedVehicleTest.cs b/VectoCore/VectoCoreTest/Integration/Declaration/ExemptedVehicleTest.cs index 55c16062fca25ffbcff80f0ce22a9ebf917d6e51..2c1aea8b7ca245655b7cf4d20326020e94ae9134 100644 --- a/VectoCore/VectoCoreTest/Integration/Declaration/ExemptedVehicleTest.cs +++ b/VectoCore/VectoCoreTest/Integration/Declaration/ExemptedVehicleTest.cs @@ -59,6 +59,9 @@ namespace TUGraz.VectoCore.Tests.Integration public class ExemptedVehicleTest { const string ExemptedVehicle = @"Testdata\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted.xml"; + const string ExemptedVehicleNoHEV = @"Testdata\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted_nonHEV.xml"; + const string ExemptedVehicleV2 = @"Testdata\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted_v2.xml"; + const string ExemptedVehicleV2NoHEV = @"Testdata\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted_v2_nonHEV.xml"; protected IXMLInputDataReader xmlInputReader; private IKernel _kernel; @@ -72,7 +75,11 @@ namespace TUGraz.VectoCore.Tests.Integration xmlInputReader = _kernel.Get<IXMLInputDataReader>(); } - [TestCase(ExemptedVehicle, 1)] + [TestCase(ExemptedVehicle, 1), + TestCase(ExemptedVehicleNoHEV, 1), + TestCase(ExemptedVehicleV2, 1), + TestCase(ExemptedVehicleV2NoHEV, 1) + ] public void TestSimulationExemptedVehicle(string filename, int numRuns) { var writer = new FileOutputWriter(filename); diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_nonHEV.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_nonHEV.xml new file mode 100644 index 0000000000000000000000000000000000000000..338f9704deac2f054dac1b5334dd8e1540e2ec55 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_nonHEV.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="1.0" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationInput:v1.0 E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoInput.xsd" + xmlns:di="http://www.w3.org/2000/09/xmldsig#"> + <Vehicle id="VEH-1234567890"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <HybridElectricHDV>false</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_v2.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_v2.xml new file mode 100644 index 0000000000000000000000000000000000000000..def38ae021aaba90db259ca6c93f9d16808c6791 --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_v2.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" + xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" + xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:q1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd +urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1 E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoDeclarationDefinitions.2.1.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="ExemptedVehicleDeclarationType"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <MaxNetPower1>30000</MaxNetPower1> + <MaxNetPower2>20000</MaxNetPower2> + <HybridElectricHDV>true</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_v2_nonHEV.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_v2_nonHEV.xml new file mode 100644 index 0000000000000000000000000000000000000000..d522c99a1543035841a922fec1ff24f47b037e9a --- /dev/null +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/ExemptedVehicle/vecto_vehicle-sample_exempted_v2_nonHEV.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<tns:VectoInputDeclaration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" + xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" + xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:q1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" + xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" + xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd +urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1 E:\QUAM\Workspace\VECTO_quam\VectoCore\VectoCore\Resources\XSD/VectoDeclarationDefinitions.2.1.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="ExemptedVehicleDeclarationType"> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> + <Model>Generic Model</Model> + <VIN>VEH-1234567890</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeClass>N3</LegislativeClass> + <VehicleCategory>Tractor</VehicleCategory> + <CurbMassChassis>7100</CurbMassChassis> + <GrossVehicleMass>40000</GrossVehicleMass> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <HybridElectricHDV>false</HybridElectricHDV> + <DualFuelVehicle>true</DualFuelVehicle> + </v2.0:Vehicle> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj index 7ffda65be356f668da4d1ab8851aa72e0385c12d..071e07c2103f962c42d88e897b6aa3af4a8e5bc2 100644 --- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj +++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj @@ -2916,6 +2916,15 @@ <Content Include="TestData\Integration\DeclarationMode\EngineSpeedTooHigh\vecto_vehicle-sample_9gears.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted_v2_nonHEV.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted_v2.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted_nonHEV.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> <Content Include="TestData\Integration\DeclarationMode\ExemptedVehicle\vecto_vehicle-sample_exempted.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>