From c5514af1925cb8af80a109f5ef9beb9004bf0d43 Mon Sep 17 00:00:00 2001
From: "VKMTHD\\franzjosefkober" <franz.josef.kober@ivt.tugraz.at>
Date: Wed, 2 Mar 2022 18:34:56 +0100
Subject: [PATCH] added sort methods for ElectricEnergyStorage,
 ElectricMotorTorquelimits and SteeringPump, and added unit test for jobfiles

---
 .../VectoCommon/Hashing/VectoComponents.cs    |   7 +-
 .../Resources/XMLNames.Designer.cs            |   9 +
 .../VectoCommon/Resources/XMLNames.resx       |   3 +
 .../Resources/XSLT/SortInputData.xslt         |  41 ++
 .../Job/Sorted/HEV-S_heavyLorry_IEPC-S.xml    | 550 +++++++++++++++++
 .../Job/Unsorted/HEV-S_heavyLorry_IEPC-S.xml  | 553 ++++++++++++++++++
 ...tTest.cs => VectoComponentHashSortTest.cs} |   4 +-
 .../VectoHashingTest/VectoHashingTest.csproj  |  13 +-
 .../VectoHashingTest/VectoJobHashSortTest.cs  |  41 ++
 9 files changed, 1214 insertions(+), 7 deletions(-)
 create mode 100644 VectoCommon/VectoHashingTest/Testdata/XML/Sort/Job/Sorted/HEV-S_heavyLorry_IEPC-S.xml
 create mode 100644 VectoCommon/VectoHashingTest/Testdata/XML/Sort/Job/Unsorted/HEV-S_heavyLorry_IEPC-S.xml
 rename VectoCommon/VectoHashingTest/{VectoHashSortTest.cs => VectoComponentHashSortTest.cs} (99%)
 create mode 100644 VectoCommon/VectoHashingTest/VectoJobHashSortTest.cs

diff --git a/VectoCommon/VectoCommon/Hashing/VectoComponents.cs b/VectoCommon/VectoCommon/Hashing/VectoComponents.cs
index f825f89aa1..fb05a006d7 100644
--- a/VectoCommon/VectoCommon/Hashing/VectoComponents.cs
+++ b/VectoCommon/VectoCommon/Hashing/VectoComponents.cs
@@ -54,7 +54,8 @@ namespace TUGraz.VectoCommon.Hashing
 		ElectricMachineSystem,
 		IEPC,
 		ADC,
-		CertifiedAeroReduction
+		CertifiedAeroReduction,
+		REESS
 	}
 
 	public static class VectoComponentsExtensionMethods
@@ -100,6 +101,8 @@ namespace TUGraz.VectoCommon.Hashing
 					return XMLNames.Component_ADC;
 				case VectoComponents.CertifiedAeroReduction:
 					return XMLNames.Component_CertifiedAeroReduction;
+				case VectoComponents.REESS:
+					return XMLNames.REESS;
 				default:
 					throw new ArgumentOutOfRangeException("VectoComponents", component, null);
 			}
@@ -146,6 +149,8 @@ namespace TUGraz.VectoCommon.Hashing
 					return "ADC-";
 				case VectoComponents.CertifiedAeroReduction:
 					return "AERO-";
+				case VectoComponents.REESS:
+					return "REESS-";
 				default:
 					throw new ArgumentOutOfRangeException("VectoComponents", component, null);
 			}
diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
index 3d834ede7d..7a72762afe 100644
--- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
+++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
@@ -3354,6 +3354,15 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to REESS.
+        /// </summary>
+        public static string REESS {
+            get {
+                return ResourceManager.GetString("REESS", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to BatteryType.
         /// </summary>
diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx
index 8aa653f6d3..162b53b81a 100644
--- a/VectoCommon/VectoCommon/Resources/XMLNames.resx
+++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx
@@ -1881,4 +1881,7 @@
   <data name="Component_CertifiedAeroReduction" xml:space="preserve">
     <value>CertifiedAeroReduction</value>
   </data>
+  <data name="REESS" xml:space="preserve">
+    <value>REESS</value>
+  </data>
 </root>
\ No newline at end of file
diff --git a/VectoCommon/VectoHashing/Resources/XSLT/SortInputData.xslt b/VectoCommon/VectoHashing/Resources/XSLT/SortInputData.xslt
index 33e4e59f42..0bce8e86b3 100644
--- a/VectoCommon/VectoHashing/Resources/XSLT/SortInputData.xslt
+++ b/VectoCommon/VectoHashing/Resources/XSLT/SortInputData.xslt
@@ -271,5 +271,46 @@
 			</xsl:for-each>
 		</xsl:if>
 	</xsl:template> 
+	
+	<!-- Sorting for Job files -->
+		
+	<!-- ElectricEnergyStorage -->
+	<xsl:template match="*[local-name()='Battery' and ./*[local-name()='StringID']]">
+		<xsl:if test="count(preceding-sibling::*[local-name()='Battery']) = 0">
+			<xsl:for-each select="../*[local-name()='Battery']">
+				<xsl:sort data-type="number" select="./*[local-name() = 'StringID']/text()" order="ascending"/>				
+				<xsl:sort data-type="text" select="./*[local-name() = 'REESS']/*[local-name() = 'Data']/@id" order="ascending"/>				
+				<xsl:element name="{local-name()}">
+					<xsl:apply-templates select="*"/> 	
+				</xsl:element>
+			</xsl:for-each>
+		</xsl:if>
+	</xsl:template>
+			
+	<!-- ElectricMotorTorqueLimits -->	
+	<xsl:template match="*[local-name()='ElectricMachine' and ./*[local-name()='Position']]">		
+		<xsl:if test="count(preceding-sibling::*[local-name()='ElectricMachine']) = 0">
+			<xsl:for-each select="../*[local-name()='ElectricMachine']">
+				<xsl:sort data-type="text" select="./*[local-name() = 'Position']/text()" order="ascending"/>			
+				<xsl:element name="{local-name()}">
+					<xsl:apply-templates select="*"/> 	
+				</xsl:element>
+			</xsl:for-each>			
+		</xsl:if>				
+	</xsl:template>	
+	
+	<!-- AUX SteeringPump -->
+	<xsl:template match="*[local-name()='SteeringPump']">
+		<xsl:element name="{local-name()}">
+			<xsl:apply-templates select="@*"/>
+			<xsl:for-each select="*">
+				<xsl:sort data-type="number" select="@axleNumber" order="ascending"/>
+				<xsl:apply-templates select="."/>
+			</xsl:for-each>
+		</xsl:element>
+	</xsl:template>	
+	
+
+	
 
 </xsl:transform>
diff --git a/VectoCommon/VectoHashingTest/Testdata/XML/Sort/Job/Sorted/HEV-S_heavyLorry_IEPC-S.xml b/VectoCommon/VectoHashingTest/Testdata/XML/Sort/Job/Sorted/HEV-S_heavyLorry_IEPC-S.xml
new file mode 100644
index 0000000000..bb400ae0f8
--- /dev/null
+++ b/VectoCommon/VectoHashingTest/Testdata/XML/Sort/Job/Sorted/HEV-S_heavyLorry_IEPC-S.xml
@@ -0,0 +1,550 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" 
+							xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob V:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" 
+							xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" 
+							xmlns:v2.10.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1" xmlns:v2.10.2="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.2">
+	<v2.0:Vehicle xsi:type="Vehicle_HEV-IEPC-S_HeavyLorryDeclarationType" id="a">
+		<Manufacturer>TU Graz</Manufacturer>
+		<ManufacturerAddress>Inffeldgasse 19</ManufacturerAddress>
+		<Model>HEV Heavy Lorry Px</Model>
+		<VIN>1234</VIN>
+		<Date>2017-01-01T00:00:00Z</Date>
+		<LegislativeCategory>N3</LegislativeCategory>
+		<ChassisConfiguration>Rigid Lorry</ChassisConfiguration>
+		<AxleConfiguration>4x2</AxleConfiguration>
+		<CorrectedActualMass>6000</CorrectedActualMass>
+		<TechnicalPermissibleMaximumLadenMass>12000</TechnicalPermissibleMaximumLadenMass>
+		<IdlingSpeed>650</IdlingSpeed>
+		<RetarderType>None</RetarderType>
+		<AngledriveType>None</AngledriveType>
+		<PTO xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:PTOType">
+			<v2.0:PTOShaftsGearWheels>none</v2.0:PTOShaftsGearWheels>
+			<v2.0:PTOOtherElements>none</v2.0:PTOOtherElements>
+		</PTO>
+		<ZeroEmissionVehicle>false</ZeroEmissionVehicle>
+		<VocationalVehicle>false</VocationalVehicle>
+		<NgTankSystem>Liquefied</NgTankSystem>
+		<!-- optional -->
+		<SleeperCab>false</SleeperCab>
+		<VehicleTypeApprovalNumber>ASDF</VehicleTypeApprovalNumber>
+		<ArchitectureID>S-IEPC</ArchitectureID>
+		<OvcHev>false</OvcHev>
+		<ADAS xsi:type="ADAS_HEV_Type">
+			<v2.10.2:EngineStopStart>true</v2.10.2:EngineStopStart>
+			<v2.10.2:PredictiveCruiseControl>1,2,3</v2.10.2:PredictiveCruiseControl>
+		</ADAS>
+		<TorqueLimits xsi:type="v2.0:TorqueLimitsType">
+			<!-- optional -->
+			<v2.0:Entry gear="8" maxTorque="2000"/>
+			<v2.0:Entry gear="9" maxTorque="2000"/>
+			<v2.0:Entry gear="10" maxTorque="2000"/>
+		</TorqueLimits>
+		<ElectricMotorTorqueLimits xsi:type="ElectricMachineTorqueLimitsType">
+			<!-- optional -->
+			<ElectricMachine>
+				<Position>1</Position>
+				<VoltageLevel>
+					<Voltage>100</Voltage>
+					<MaxTorqueCurve>
+						<v2.10.1:Entry outShaftSpeed="0.01" maxTorque="200.00" minTorque="-200.00"/>
+						<v2.10.1:Entry outShaftSpeed="1001.00" maxTorque="300.00" minTorque="-300.00"/>
+					</MaxTorqueCurve>
+				</VoltageLevel>
+				<VoltageLevel>
+					<Voltage>500</Voltage>
+					<MaxTorqueCurve>
+						<v2.10.1:Entry outShaftSpeed="0.02" maxTorque="200.00" minTorque="-200.00"/>
+						<v2.10.1:Entry outShaftSpeed="1002.00" maxTorque="300.00" minTorque="-300.00"/>
+					</MaxTorqueCurve>
+				</VoltageLevel>
+			</ElectricMachine>
+			<ElectricMachine>
+				<Position>2</Position>
+				<VoltageLevel>
+					<Voltage>200</Voltage>
+					<MaxTorqueCurve>
+						<v2.10.1:Entry outShaftSpeed="0.03" maxTorque="200.00" minTorque="-200.00"/>
+						<v2.10.1:Entry outShaftSpeed="1003.00" maxTorque="300.00" minTorque="-300.00"/>
+					</MaxTorqueCurve>
+				</VoltageLevel>
+				<VoltageLevel>
+					<Voltage>500</Voltage>
+					<MaxTorqueCurve>
+						<v2.10.1:Entry outShaftSpeed="0.04" maxTorque="200.00" minTorque="-200.00"/>
+						<v2.10.1:Entry outShaftSpeed="1004.00" maxTorque="300.00" minTorque="-300.00"/>
+					</MaxTorqueCurve>
+				</VoltageLevel>
+			</ElectricMachine>
+			<ElectricMachine>
+				<Position>GEN</Position>
+				<VoltageLevel>
+					<Voltage>100</Voltage>
+					<MaxTorqueCurve>
+						<v2.10.1:Entry outShaftSpeed="0.00" maxTorque="200.00" minTorque="-200.00"/>
+						<v2.10.1:Entry outShaftSpeed="1000.00" maxTorque="300.00" minTorque="-300.00"/>
+					</MaxTorqueCurve>
+				</VoltageLevel>
+				<VoltageLevel>
+					<Voltage>500</Voltage>
+					<MaxTorqueCurve>
+						<v2.10.1:Entry outShaftSpeed="0.00" maxTorque="200.00" minTorque="-200.00"/>
+						<v2.10.1:Entry outShaftSpeed="1000.00" maxTorque="300.00" minTorque="-300.00"/>
+					</MaxTorqueCurve>
+				</VoltageLevel>
+			</ElectricMachine>	
+		</ElectricMotorTorqueLimits>
+		<Components xsi:type="Components_HEV-IEPC-S_LorryType">
+			<Engine>
+				<v2.0:Data xsi:type="v1.0:EngineDataDeclarationType" id="ENG-gooZah3D" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0">
+					<Manufacturer>Generic Engine Manufacturer</Manufacturer>
+					<Model>Generic 40t Long Haul Truck Engine</Model>
+					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
+					<Date>2017-02-15T11:00:00Z</Date>
+					<AppVersion>VectoEngine x.y</AppVersion>
+					<Displacement>12730</Displacement>
+					<IdlingSpeed>560</IdlingSpeed>
+					<RatedSpeed>2200</RatedSpeed>
+					<RatedPower>380000</RatedPower>
+					<MaxEngineTorque>2300</MaxEngineTorque>
+					<WHTCUrban>1.0097</WHTCUrban>
+					<WHTCRural>1.0035</WHTCRural>
+					<WHTCMotorway>1.0200</WHTCMotorway>
+					<BFColdHot>1.0000</BFColdHot>
+					<CFRegPer>1.0000</CFRegPer>
+					<CFNCV>1.0000</CFNCV>
+					<FuelType>NG</FuelType>
+					<FuelConsumptionMap>
+						<Entry engineSpeed="560.00" torque="-149.00" fuelConsumption="0.00"/>
+						<Entry engineSpeed="560.00" torque="1180.00" fuelConsumption="12869.00"/>
+						<Entry engineSpeed="2100.00" torque="-320.00" fuelConsumption="0.00"/>
+						<Entry engineSpeed="2100.00" torque="1100.00" fuelConsumption="50653.00"/>
+					</FuelConsumptionMap>
+					<FullLoadAndDragCurve>
+						<Entry engineSpeed="560.00" maxTorque="1180.00" dragTorque="-149.00"/>
+						<Entry engineSpeed="1800.00" maxTorque="1800.00" dragTorque="-300.00"/>
+						<Entry engineSpeed="2100.00" maxTorque="1100.00" dragTorque="-320.00"/>
+					</FullLoadAndDragCurve>
+				</v2.0:Data>
+				<v2.0:Signature>
+					<di:Reference URI="#ENG-gooZah3D">
+						<di:Transforms>
+							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+						</di:Transforms>
+						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+						<di:DigestValue>/qqS7iMvDm0MYurhsIRZTF5FeS+MNA2HnoS1P8SrSdA=</di:DigestValue>
+					</di:Reference>
+				</v2.0:Signature>
+			</Engine>
+			<ElectricMachineGEN>
+				<PowertrainPosition>GEN</PowertrainPosition>
+				<Count>1</Count>
+				<ElectricMachineSystem>
+					<v2.10.1:Data xsi:type="v2.10.1:ElectricMachineSystemMeasuredDataDeclarationType" id="EM-1234" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1">
+						<Manufacturer>a</Manufacturer>
+						<Model>a</Model>
+						<CertificationNumber>token</CertificationNumber>
+						<Date>2017-01-01T00:00:00Z</Date>
+						<AppVersion>aaaaa</AppVersion>
+						<ElectricMachineType>ASM</ElectricMachineType>
+						<CertificationMethod>Measured</CertificationMethod>
+						<R85RatedPower>1</R85RatedPower>
+						<RotationalInertia>0.10</RotationalInertia>
+						<DcDcConverterIncluded>true</DcDcConverterIncluded>
+						<IHPCType>None</IHPCType>
+						<VoltageLevel>
+							<Voltage>400</Voltage>
+							<ContinuousTorque>200.00</ContinuousTorque>
+							<TestSpeedContinuousTorque>2000.00</TestSpeedContinuousTorque>
+							<OverloadTorque>400.00</OverloadTorque>
+							<TestSpeedOverloadTorque>2000.00</TestSpeedOverloadTorque>
+							<OverloadDuration>30.00</OverloadDuration>
+							<MaxTorqueCurve>
+								<Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/>
+								<Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/>
+							</MaxTorqueCurve>
+							<PowerMap>
+								<Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/>
+								<Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/>
+								<Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/>
+								<Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/>
+							</PowerMap>
+						</VoltageLevel>
+						<VoltageLevel>
+							<Voltage>600</Voltage>
+							<ContinuousTorque>200.00</ContinuousTorque>
+							<TestSpeedContinuousTorque>2000.00</TestSpeedContinuousTorque>
+							<OverloadTorque>400.00</OverloadTorque>
+							<TestSpeedOverloadTorque>2000.00</TestSpeedOverloadTorque>
+							<OverloadDuration>30.00</OverloadDuration>
+							<MaxTorqueCurve>
+								<Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/>
+								<Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/>
+							</MaxTorqueCurve>
+							<PowerMap>
+								<Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/>
+								<Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/>
+								<Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/>
+								<Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/>
+							</PowerMap>
+						</VoltageLevel>
+						<DragCurve>
+							<Entry outShaftSpeed="0.00" dragTorque="10.00"/>
+							<Entry outShaftSpeed="4000.00" dragTorque="30.00"/>
+						</DragCurve>
+						<Conditioning>
+							<Entry coolantTempInlet="30" coolingPower="5000"/>
+							<Entry coolantTempInlet="40" coolingPower="5000"/>
+						</Conditioning>
+					</v2.10.1:Data>
+					<v2.10.1:Signature>
+						<di:Reference URI="#EM-1234">
+							<di:Transforms>
+								<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
+								<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
+							</di:Transforms>
+							<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
+							<di:DigestValue>gFUN+RoDzgSrZHc2r7bYZzaKgnqU9VWVbD2H0NeUqWc=</di:DigestValue>
+						</di:Reference>
+					</v2.10.1:Signature>
+				</ElectricMachineSystem>
+			</ElectricMachineGEN>
+			<ElectricEnergyStorage>
+				<Battery>
+					<StringID>0</StringID>
+					<REESS>
+						<v2.10.2:Data xsi:type="BatterySystemDataType" id="REESS-asdf" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1">
+							<Manufacturer>a</Manufacturer>
+							<Model>a</Model>
+							<CertificationNumber>token</CertificationNumber>
+							<Date>2017-01-01T00:00:00Z</Date>
+							<AppVersion>aaaaa</AppVersion>
+							<CertificationMethod>Measured</CertificationMethod>
+							<BatteryType>HPBS</BatteryType>
+							<RatedCapacity>72.00</RatedCapacity>
+							<ConnectorsSubsystemsIncluded>true</ConnectorsSubsystemsIncluded>
+							<JunctionboxIncluded>true</JunctionboxIncluded>
+							<TestingTemperature>20</TestingTemperature>
+							<OCV>
+								<Entry SoC="0" OCV="620.00"/>
+								<Entry SoC="100" OCV="640.00"/>
+							</OCV>
+							<InternalResistance>
+								<Entry SoC="0" R_2="10.00" R_10="11.00" R_20="12.00"/>
+								<Entry SoC="100" R_2="12.00" R_10="14.00" R_20="16.00"/>
+							</InternalResistance>
+							<CurrentLimits>
+								<Entry SoC="0" maxChargingCurrent="50.00" maxDischargingCurrent="0.00"/>
+								<Entry SoC="100" maxChargingCurrent="0.00" maxDischargingCurrent="50.00"/>
+							</CurrentLimits>
+						</v2.10.2:Data>
+						<v2.10.2:Signature>
+							<di:Reference URI="#REESS-asdf">
+								<di:Transforms>
+									<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
+									<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
+								</di:Transforms>
+								<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
+								<di:DigestValue>1oSQlI5CZcN9ZgLkGNofXP4z7jld9gAIDGlsXryqoMM=</di:DigestValue>
+							</di:Reference>
+						</v2.10.2:Signature>
+					</REESS>
+					<SOCmin>21</SOCmin>
+					<SOCmax>80</SOCmax>
+				</Battery>
+				<Battery>
+					<StringID>1</StringID>
+					<REESS>
+						<v2.10.2:Data xsi:type="BatterySystemDataType" id="REESS-asdfg" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1">
+							<Manufacturer>a</Manufacturer>
+							<Model>a</Model>
+							<CertificationNumber>token</CertificationNumber>
+							<Date>2017-01-01T00:00:00Z</Date>
+							<AppVersion>aaaaa</AppVersion>
+							<CertificationMethod>Measured</CertificationMethod>
+							<BatteryType>HPBS</BatteryType>
+							<RatedCapacity>72.00</RatedCapacity>
+							<ConnectorsSubsystemsIncluded>true</ConnectorsSubsystemsIncluded>
+							<JunctionboxIncluded>true</JunctionboxIncluded>
+							<TestingTemperature>20</TestingTemperature>
+							<OCV>
+								<Entry SoC="0" OCV="620.00"/>
+								<Entry SoC="100" OCV="640.00"/>
+							</OCV>
+							<InternalResistance>
+								<Entry SoC="0" R_2="10.00" R_10="11.00" R_20="12.00"/>
+								<Entry SoC="100" R_2="12.00" R_10="14.00" R_20="16.00"/>
+							</InternalResistance>
+							<CurrentLimits>
+								<Entry SoC="0" maxChargingCurrent="50.00" maxDischargingCurrent="0.00"/>
+								<Entry SoC="100" maxChargingCurrent="0.00" maxDischargingCurrent="50.00"/>
+							</CurrentLimits>
+						</v2.10.2:Data>
+						<v2.10.2:Signature>
+							<di:Reference URI="#REESS-asdfg">
+								<di:Transforms>
+									<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
+									<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
+								</di:Transforms>
+								<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
+								<di:DigestValue>vm6ZSTyOqaxiB7x+T3vpvFIMeM8wDIDiSta6JDI101k=</di:DigestValue>
+							</di:Reference>
+						</v2.10.2:Signature>
+					</REESS>
+				</Battery>
+			</ElectricEnergyStorage>
+			<IEPC>
+				<v2.10.1:Data xsi:type="IEPCMeasuredDataDeclarationType" id="IEPC-asdf" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1">
+					<Manufacturer>a</Manufacturer>
+					<Model>a</Model>
+					<CertificationNumber>token</CertificationNumber>
+					<Date>2017-01-01T00:00:00Z</Date>
+					<AppVersion>aaaaa</AppVersion>
+					<ElectricMachineType>ASM</ElectricMachineType>
+					<CertificationMethod>Measured for complete component</CertificationMethod>
+					<R85RatedPower>1</R85RatedPower>
+					<RotationalInertia>0.10</RotationalInertia>
+					<DifferentialIncluded>false</DifferentialIncluded>
+					<DesignTypeWheelMotor>false</DesignTypeWheelMotor>
+					<Gears xsi:type="v2.10.1:IEPCGearsDeclarationType">
+						<Gear number="1">
+							<Ratio>3.000</Ratio>
+						</Gear>
+						<Gear number="2">
+							<Ratio>1.000</Ratio>
+							<MaxOutShaftTorque>2000</MaxOutShaftTorque>
+						</Gear>
+					</Gears>
+					<VoltageLevel>
+						<Voltage>400</Voltage>
+						<ContinuousTorque>200.00</ContinuousTorque>
+						<TestSpeedContinuousTorque>2000.00</TestSpeedContinuousTorque>
+						<OverloadTorque>400.00</OverloadTorque>
+						<TestSpeedOverloadTorque>2000.00</TestSpeedOverloadTorque>
+						<OverloadDuration>30.00</OverloadDuration>
+						<MaxTorqueCurve>
+							<Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/>
+							<Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/>
+						</MaxTorqueCurve>
+						<PowerMap gear="1">
+							<Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/>
+							<Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/>
+							<Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/>
+							<Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/>
+						</PowerMap>
+						<PowerMap gear="2">
+							<Entry outShaftSpeed="0.00" torque="-500.00" electricPower="-1500.00"/>
+							<Entry outShaftSpeed="0.00" torque="500.00" electricPower="1500.00"/>
+							<Entry outShaftSpeed="5000.00" torque="-5000.00" electricPower="-25000.00"/>
+							<Entry outShaftSpeed="5000.00" torque="5000.00" electricPower="25000.00"/>
+						</PowerMap>
+					</VoltageLevel>
+					<VoltageLevel>
+						<Voltage>600</Voltage>
+						<ContinuousTorque>200.00</ContinuousTorque>
+						<TestSpeedContinuousTorque>2000.00</TestSpeedContinuousTorque>
+						<OverloadTorque>400.00</OverloadTorque>
+						<TestSpeedOverloadTorque>2000.00</TestSpeedOverloadTorque>
+						<OverloadDuration>30.00</OverloadDuration>
+						<MaxTorqueCurve>
+							<Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/>
+							<Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/>
+						</MaxTorqueCurve>
+						<PowerMap gear="1">
+							<Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/>
+							<Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/>
+							<Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/>
+							<Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/>
+						</PowerMap>
+						<PowerMap gear="2">
+							<Entry outShaftSpeed="0.00" torque="-500.00" electricPower="-1500.00"/>
+							<Entry outShaftSpeed="0.00" torque="500.00" electricPower="1500.00"/>
+							<Entry outShaftSpeed="5000.00" torque="-5000.00" electricPower="-25000.00"/>
+							<Entry outShaftSpeed="5000.00" torque="5000.00" electricPower="25000.00"/>
+						</PowerMap>
+					</VoltageLevel>
+					<DragCurve gear="1">
+						<Entry outShaftSpeed="0.00" dragTorque="10.00"/>
+						<Entry outShaftSpeed="4000.00" dragTorque="30.00"/>
+					</DragCurve>
+					<DragCurve gear="2">
+						<Entry outShaftSpeed="0.00" dragTorque="15.00"/>
+						<Entry outShaftSpeed="4500.00" dragTorque="35.00"/>
+					</DragCurve>
+					<Conditioning>
+						<Entry coolantTempInlet="30" coolingPower="5000"/>
+					</Conditioning>
+				</v2.10.1:Data>
+				<v2.10.1:Signature>
+					<di:Reference URI="#IEPC-asdf">
+						<di:Transforms>
+							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+						</di:Transforms>
+						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+						<di:DigestValue>PwNmfGr07RNTd9qsy6Av/jl9rRCtve4sBrcqf9zDFU0=</di:DigestValue>
+					</di:Reference>
+				</v2.10.1:Signature>
+			</IEPC>
+			<Retarder>
+				<!-- optional -->
+				<v2.0:Data id="RET-Shai9imi" xsi:type="v2.0:RetarderDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
+					<Manufacturer>Generic Retarder Manufacturer</Manufacturer>
+					<Model>Generic Retarder</Model>
+					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
+					<Date>2017-01-11T11:00:00Z</Date>
+					<AppVersion>3.0.1</AppVersion>
+					<CertificationMethod>Standard values</CertificationMethod>
+					<RetarderLossMap>
+						<Entry retarderSpeed="0.00" torqueLoss="10.00"/>
+						<Entry retarderSpeed="2300.00" torqueLoss="20.58"/>
+					</RetarderLossMap>
+				</v2.0:Data>
+				<v2.0:Signature>
+					<di:Reference URI="#RET-Shai9imi">
+						<di:Transforms>
+							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+						</di:Transforms>
+						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+						<di:DigestValue>xcfok6Uo1kvFefSRo+W/oMfEfS5BdTklBugAjby2DUQ=</di:DigestValue>
+					</di:Reference>
+				</v2.0:Signature>
+			</Retarder>
+			<Axlegear>
+				<!-- optional -->
+				<v2.0:Data id="AXL-EC3ohnoh" xsi:type="v2.0:AxlegearDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
+					<Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
+					<Model>Generic 40t Long Haul Truck AxleGear</Model>
+					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
+					<Date>2017-01-11T11:00:00Z</Date>
+					<AppVersion>3.0.1</AppVersion>
+					<LineType>Single portal axle</LineType>
+					<Ratio>2.590</Ratio>
+					<CertificationMethod>Standard values</CertificationMethod>
+					<TorqueLossMap>
+						<Entry inputSpeed="0.00" inputTorque="-5000.00" torqueLoss="115.00"/>
+						<Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="40.00"/>
+						<Entry inputSpeed="0.00" inputTorque="15000.00" torqueLoss="265.00"/>
+						<Entry inputSpeed="2100.00" inputTorque="-5000.00" torqueLoss="115.00"/>
+						<Entry inputSpeed="2100.00" inputTorque="0.00" torqueLoss="40.00"/>
+						<Entry inputSpeed="2100.00" inputTorque="35000.00" torqueLoss="565.00"/>
+					</TorqueLossMap>
+				</v2.0:Data>
+				<v2.0:Signature>
+					<di:Reference URI="#AXL-EC3ohnoh">
+						<di:Transforms>
+							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+						</di:Transforms>
+						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+						<di:DigestValue>Ux2vo+s07pGr9XCbvNs/YbJcFaZClORRGXpP6Eyeze8=</di:DigestValue>
+					</di:Reference>
+				</v2.0:Signature>
+			</Axlegear>
+			<AxleWheels>
+				<v2.0:Data xsi:type="v2.0:AxleWheelsDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
+					<Axles>
+						<Axle axleNumber="1" xsi:type="AxleDataDeclarationType">
+							<AxleType>VehicleNonDriven</AxleType>
+							<TwinTyres>false</TwinTyres>
+							<Steered>true</Steered>
+							<Tyre>
+								<Data id="WHL-5432198760-315-70-R22.5" xsi:type="TyreDataDeclarationType">
+									<Manufacturer>Generic Wheels Manufacturer</Manufacturer>
+									<Model>Generic Wheel</Model>
+									<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
+									<Date>2017-01-11T14:00:00Z</Date>
+									<AppVersion>Tyre Generation App 1.0</AppVersion>
+									<Dimension>315/70 R22.5</Dimension>
+									<RRCDeclared>0.0055</RRCDeclared>
+									<FzISO>31300</FzISO>
+								</Data>
+								<Signature>
+									<di:Reference URI="#WHL-5432198760-315-70-R22.5">
+										<di:Transforms>
+											<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+											<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+										</di:Transforms>
+										<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+										<di:DigestValue>A/sq1ng4cqeOyauDUqUEnonRSPch3VCqZDX9Pf3tW1Q=</di:DigestValue>
+									</di:Reference>
+								</Signature>
+							</Tyre>
+						</Axle>
+						<Axle axleNumber="2" xsi:type="AxleDataDeclarationType">
+							<AxleType>VehicleDriven</AxleType>
+							<TwinTyres>true</TwinTyres>
+							<Steered>false</Steered>
+							<Tyre>
+								<Data id="WHL-5432198760-315-70-R22.5" xsi:type="TyreDataDeclarationType">
+									<Manufacturer>Generic Wheels Manufacturer</Manufacturer>
+									<Model>Generic Wheel</Model>
+									<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
+									<Date>2017-01-11T14:00:00Z</Date>
+									<AppVersion>Tyre Generation App 1.0</AppVersion>
+									<Dimension>315/70 R22.5</Dimension>
+									<RRCDeclared>0.0063</RRCDeclared>
+									<FzISO>31300</FzISO>
+								</Data>
+								<Signature>
+									<di:Reference URI="#WHL-5432198760-315-70-R22.5">
+										<di:Transforms>
+											<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+											<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+										</di:Transforms>
+										<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+										<di:DigestValue>z+KDXmc5MIezM6RVgfYax5J9Efi0ghciG2/wLLmWaBk=</di:DigestValue>
+									</di:Reference>
+								</Signature>
+							</Tyre>
+						</Axle>
+					</Axles>
+				</v2.0:Data>
+			</AxleWheels>
+			<Auxiliaries>
+				<Data xsi:type="AUX_HEV-S_LorryDataType">
+					<Fan>
+						<Technology>Hydraulic driven - Constant displacement pump</Technology>
+					</Fan>
+					<SteeringPump>
+						<Technology axleNumber="1">Electric driven pump</Technology>
+						<Technology axleNumber="2">Full electric steering gear</Technology>
+					</SteeringPump>
+					<ElectricSystem>
+						<Technology>Standard technology - LED headlights, all</Technology>
+					</ElectricSystem>
+					<PneumaticSystem>
+						<Technology>Medium Supply 2-stage</Technology>
+					</PneumaticSystem>
+					<HVAC>
+						<Technology>Default</Technology>
+					</HVAC>
+				</Data>
+			</Auxiliaries>
+			<AirDrag>
+				<!-- optional -->
+				<Data id="CabinX23h" xsi:type="v2.0:AirDragDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
+					<Manufacturer>Generic Manufacturer</Manufacturer>
+					<Model>Generic Model</Model>
+					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
+					<Date>2017-03-24T15:00:00Z</Date>
+					<AppVersion>Vecto AirDrag x.y</AppVersion>
+					<CdxA_0>6.31</CdxA_0>
+					<TransferredCdxA>6.32</TransferredCdxA>
+					<DeclaredCdxA>6.34</DeclaredCdxA>
+				</Data>
+				<v2.0:Signature>
+					<di:Reference URI="#CabinX23h">
+						<di:Transforms>
+							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+						</di:Transforms>
+						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+						<di:DigestValue>NroIsfnT7+1zYG5CTHxpclh0ZaRZvGyrfFPmWdKbFbg=</di:DigestValue>
+					</di:Reference>
+				</v2.0:Signature>
+			</AirDrag>
+		</Components>
+	</v2.0:Vehicle>
+</tns:VectoInputDeclaration>
diff --git a/VectoCommon/VectoHashingTest/Testdata/XML/Sort/Job/Unsorted/HEV-S_heavyLorry_IEPC-S.xml b/VectoCommon/VectoHashingTest/Testdata/XML/Sort/Job/Unsorted/HEV-S_heavyLorry_IEPC-S.xml
new file mode 100644
index 0000000000..54c3f46d82
--- /dev/null
+++ b/VectoCommon/VectoHashingTest/Testdata/XML/Sort/Job/Unsorted/HEV-S_heavyLorry_IEPC-S.xml
@@ -0,0 +1,553 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="2.0" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" 
+							xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob V:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd" xmlns:v1.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0" 
+							xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" 
+							xmlns:v2.10.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1" xmlns:v2.10.2="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.2">
+	<v2.0:Vehicle xsi:type="Vehicle_HEV-IEPC-S_HeavyLorryDeclarationType" id="a">
+		<Manufacturer>TU Graz</Manufacturer>
+		<ManufacturerAddress>Inffeldgasse 19</ManufacturerAddress>
+		<Model>HEV Heavy Lorry Px</Model>
+		<VIN>1234</VIN>
+		<Date>2017-01-01T00:00:00Z</Date>
+		<LegislativeCategory>N3</LegislativeCategory>
+		<ChassisConfiguration>Rigid Lorry</ChassisConfiguration>
+		<AxleConfiguration>4x2</AxleConfiguration>
+		<CorrectedActualMass>6000</CorrectedActualMass>
+		<TechnicalPermissibleMaximumLadenMass>12000</TechnicalPermissibleMaximumLadenMass>
+		<IdlingSpeed>650</IdlingSpeed>
+		<RetarderType>None</RetarderType>
+		<AngledriveType>None</AngledriveType>
+		<PTO xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:PTOType">
+			<v2.0:PTOShaftsGearWheels>none</v2.0:PTOShaftsGearWheels>
+			<v2.0:PTOOtherElements>none</v2.0:PTOOtherElements>
+		</PTO>
+		<ZeroEmissionVehicle>false</ZeroEmissionVehicle>
+		<VocationalVehicle>false</VocationalVehicle>
+		<NgTankSystem>Liquefied</NgTankSystem>
+		<!-- optional -->
+		<SleeperCab>false</SleeperCab>
+		<VehicleTypeApprovalNumber>ASDF</VehicleTypeApprovalNumber>
+		<ArchitectureID>S-IEPC</ArchitectureID>
+		<OvcHev>false</OvcHev>
+		<ADAS xsi:type="ADAS_HEV_Type">
+			<v2.10.2:EngineStopStart>true</v2.10.2:EngineStopStart>
+			<v2.10.2:PredictiveCruiseControl>1,2,3</v2.10.2:PredictiveCruiseControl>
+		</ADAS>
+		<TorqueLimits xsi:type="v2.0:TorqueLimitsType">
+			<!-- optional -->
+			<v2.0:Entry gear="9" maxTorque="2000"/>
+			<v2.0:Entry gear="8" maxTorque="2000"/>
+			<v2.0:Entry gear="10" maxTorque="2000"/>
+		</TorqueLimits>
+		<ElectricMotorTorqueLimits xsi:type="ElectricMachineTorqueLimitsType">
+			<!-- optional -->
+
+			<ElectricMachine>
+				<Position>GEN</Position>
+				<VoltageLevel>
+					<Voltage>500</Voltage>
+					<MaxTorqueCurve>
+						<v2.10.1:Entry outShaftSpeed="1000.00" maxTorque="300.00" minTorque="-300.00"/>
+						<v2.10.1:Entry outShaftSpeed="0.00" maxTorque="200.00" minTorque="-200.00"/>
+					</MaxTorqueCurve>
+				</VoltageLevel>
+				<VoltageLevel>
+				<Voltage>100</Voltage>
+					<MaxTorqueCurve>
+						<v2.10.1:Entry outShaftSpeed="1000.00" maxTorque="300.00" minTorque="-300.00"/>
+						<v2.10.1:Entry outShaftSpeed="0.00" maxTorque="200.00" minTorque="-200.00"/>
+					</MaxTorqueCurve>
+				</VoltageLevel>
+			</ElectricMachine>
+			<ElectricMachine>
+				<Position>1</Position>
+				<VoltageLevel>
+					<Voltage>500</Voltage>
+					<MaxTorqueCurve>
+						<v2.10.1:Entry outShaftSpeed="0.02" maxTorque="200.00" minTorque="-200.00"/>
+						<v2.10.1:Entry outShaftSpeed="1002.00" maxTorque="300.00" minTorque="-300.00"/>
+					</MaxTorqueCurve>
+				</VoltageLevel>
+				<VoltageLevel>
+					<Voltage>100</Voltage>
+					<MaxTorqueCurve>
+						<v2.10.1:Entry outShaftSpeed="1001.00" maxTorque="300.00" minTorque="-300.00"/>
+						<v2.10.1:Entry outShaftSpeed="0.01" maxTorque="200.00" minTorque="-200.00"/>
+					</MaxTorqueCurve>
+				</VoltageLevel>
+			</ElectricMachine>
+			<ElectricMachine>
+				<Position>2</Position>
+				<VoltageLevel>
+					<Voltage>200</Voltage>
+					<MaxTorqueCurve>
+						<v2.10.1:Entry outShaftSpeed="0.03" maxTorque="200.00" minTorque="-200.00"/>
+						<v2.10.1:Entry outShaftSpeed="1003.00" maxTorque="300.00" minTorque="-300.00"/>
+					</MaxTorqueCurve>
+				</VoltageLevel>
+				<VoltageLevel>
+					<Voltage>500</Voltage>
+					<MaxTorqueCurve>
+						<v2.10.1:Entry outShaftSpeed="1004.00" maxTorque="300.00" minTorque="-300.00"/>
+						<v2.10.1:Entry outShaftSpeed="0.04" maxTorque="200.00" minTorque="-200.00"/>
+					</MaxTorqueCurve>
+				</VoltageLevel>
+			</ElectricMachine>			
+		</ElectricMotorTorqueLimits>
+		<Components xsi:type="Components_HEV-IEPC-S_LorryType">
+			<Engine>
+				<v2.0:Data xsi:type="v1.0:EngineDataDeclarationType" id="ENG-gooZah3D" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v1.0">
+					<Manufacturer>Generic Engine Manufacturer</Manufacturer>
+					<Model>Generic 40t Long Haul Truck Engine</Model>
+					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
+					<Date>2017-02-15T11:00:00Z</Date>
+					<AppVersion>VectoEngine x.y</AppVersion>
+					<Displacement>12730</Displacement>
+					<IdlingSpeed>560</IdlingSpeed>
+					<RatedSpeed>2200</RatedSpeed>
+					<RatedPower>380000</RatedPower>
+					<MaxEngineTorque>2300</MaxEngineTorque>
+					<WHTCUrban>1.0097</WHTCUrban>
+					<WHTCRural>1.0035</WHTCRural>
+					<WHTCMotorway>1.0200</WHTCMotorway>
+					<BFColdHot>1.0000</BFColdHot>
+					<CFRegPer>1.0000</CFRegPer>
+					<CFNCV>1.0000</CFNCV>
+					<FuelType>NG</FuelType>
+					<FuelConsumptionMap>
+						<Entry engineSpeed="2100.00" torque="1100.00" fuelConsumption="50653.00"/>
+						<Entry engineSpeed="560.00" torque="-149.00" fuelConsumption="0.00"/>
+						<Entry engineSpeed="2100.00" torque="-320.00" fuelConsumption="0.00"/>
+						<Entry engineSpeed="560.00" torque="1180.00" fuelConsumption="12869.00"/>						
+					</FuelConsumptionMap>
+					<FullLoadAndDragCurve>
+						<Entry engineSpeed="1800.00" maxTorque="1800.00" dragTorque="-300.00"/>
+						<Entry engineSpeed="2100.00" maxTorque="1100.00" dragTorque="-320.00"/>
+						<Entry engineSpeed="560.00" maxTorque="1180.00" dragTorque="-149.00"/>
+					</FullLoadAndDragCurve>
+				</v2.0:Data>
+				<v2.0:Signature>
+					<di:Reference URI="#ENG-gooZah3D">
+						<di:Transforms>
+							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+						</di:Transforms>
+						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+						<di:DigestValue>/qqS7iMvDm0MYurhsIRZTF5FeS+MNA2HnoS1P8SrSdA=</di:DigestValue>
+					</di:Reference>
+				</v2.0:Signature>
+			</Engine>
+			<ElectricMachineGEN>
+				<PowertrainPosition>GEN</PowertrainPosition>
+				<Count>1</Count>
+				<ElectricMachineSystem>
+					<v2.10.1:Data xsi:type="v2.10.1:ElectricMachineSystemMeasuredDataDeclarationType" id="EM-1234" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1">
+						<Manufacturer>a</Manufacturer>
+						<Model>a</Model>
+						<CertificationNumber>token</CertificationNumber>
+						<Date>2017-01-01T00:00:00Z</Date>
+						<AppVersion>aaaaa</AppVersion>
+						<ElectricMachineType>ASM</ElectricMachineType>
+						<CertificationMethod>Measured</CertificationMethod>
+						<R85RatedPower>1</R85RatedPower>
+						<RotationalInertia>0.10</RotationalInertia>
+						<DcDcConverterIncluded>true</DcDcConverterIncluded>
+						<IHPCType>None</IHPCType>
+						<VoltageLevel>
+							<Voltage>400</Voltage>
+							<ContinuousTorque>200.00</ContinuousTorque>
+							<TestSpeedContinuousTorque>2000.00</TestSpeedContinuousTorque>
+							<OverloadTorque>400.00</OverloadTorque>
+							<TestSpeedOverloadTorque>2000.00</TestSpeedOverloadTorque>
+							<OverloadDuration>30.00</OverloadDuration>
+							<MaxTorqueCurve>
+								<Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/>
+								<Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/>
+							</MaxTorqueCurve>
+							<PowerMap>
+								<Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/>
+								<Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/>
+								<Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/>
+								<Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/>
+							</PowerMap>
+						</VoltageLevel>
+						<VoltageLevel>
+							<Voltage>600</Voltage>
+							<ContinuousTorque>200.00</ContinuousTorque>
+							<TestSpeedContinuousTorque>2000.00</TestSpeedContinuousTorque>
+							<OverloadTorque>400.00</OverloadTorque>
+							<TestSpeedOverloadTorque>2000.00</TestSpeedOverloadTorque>
+							<OverloadDuration>30.00</OverloadDuration>
+							<MaxTorqueCurve>
+								<Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/>
+								<Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/>
+							</MaxTorqueCurve>
+							<PowerMap>
+								<Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/>
+								<Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/>
+								<Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/>
+								<Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/>
+							</PowerMap>
+						</VoltageLevel>
+						<DragCurve>
+							<Entry outShaftSpeed="4000.00" dragTorque="30.00"/>
+							<Entry outShaftSpeed="0.00" dragTorque="10.00"/>
+						</DragCurve>
+						<Conditioning>
+							<Entry coolantTempInlet="40" coolingPower="5000"/>
+							<Entry coolantTempInlet="30" coolingPower="5000"/>
+						</Conditioning>
+					</v2.10.1:Data>
+					<v2.10.1:Signature>
+						<di:Reference URI="#EM-1234">
+							<di:Transforms>
+								<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
+								<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
+							</di:Transforms>
+							<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
+							<di:DigestValue>gFUN+RoDzgSrZHc2r7bYZzaKgnqU9VWVbD2H0NeUqWc=</di:DigestValue>
+						</di:Reference>
+					</v2.10.1:Signature>
+				</ElectricMachineSystem>
+			</ElectricMachineGEN>
+			<ElectricEnergyStorage>
+				<Battery>
+					<StringID>0</StringID>
+					<REESS>
+						<v2.10.2:Data xsi:type="BatterySystemDataType" id="REESS-asdf" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1">
+							<Manufacturer>a</Manufacturer>
+							<Model>a</Model>
+							<CertificationNumber>token</CertificationNumber>
+							<Date>2017-01-01T00:00:00Z</Date>
+							<AppVersion>aaaaa</AppVersion>
+							<CertificationMethod>Measured</CertificationMethod>
+							<BatteryType>HPBS</BatteryType>
+							<RatedCapacity>72.00</RatedCapacity>
+							<ConnectorsSubsystemsIncluded>true</ConnectorsSubsystemsIncluded>
+							<JunctionboxIncluded>true</JunctionboxIncluded>
+							<TestingTemperature>20</TestingTemperature>
+							<OCV>
+								<Entry SoC="0" OCV="620.00"/>
+								<Entry SoC="100" OCV="640.00"/>
+							</OCV>
+							<InternalResistance>
+								<Entry SoC="100" R_2="12.00" R_10="14.00" R_20="16.00"/>
+								<Entry SoC="0" R_2="10.00" R_10="11.00" R_20="12.00"/>
+							</InternalResistance>
+							<CurrentLimits>
+								<Entry SoC="100" maxChargingCurrent="0.00" maxDischargingCurrent="50.00"/>
+								<Entry SoC="0" maxChargingCurrent="50.00" maxDischargingCurrent="0.00"/>
+							</CurrentLimits>
+						</v2.10.2:Data>
+						<v2.10.2:Signature>
+							<di:Reference URI="#REESS-asdf">
+								<di:Transforms>
+									<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
+									<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
+								</di:Transforms>
+								<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
+								<di:DigestValue>1oSQlI5CZcN9ZgLkGNofXP4z7jld9gAIDGlsXryqoMM=</di:DigestValue>
+							</di:Reference>
+						</v2.10.2:Signature>
+					</REESS>
+					<SOCmin>21</SOCmin>
+					<SOCmax>80</SOCmax>
+				</Battery>
+				<Battery>
+					<StringID>1</StringID>
+					<REESS>
+						<v2.10.2:Data xsi:type="BatterySystemDataType" id="REESS-asdfg" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1">
+							<Manufacturer>a</Manufacturer>
+							<Model>a</Model>
+							<CertificationNumber>token</CertificationNumber>
+							<Date>2017-01-01T00:00:00Z</Date>
+							<AppVersion>aaaaa</AppVersion>
+							<CertificationMethod>Measured</CertificationMethod>
+							<BatteryType>HPBS</BatteryType>
+							<RatedCapacity>72.00</RatedCapacity>
+							<ConnectorsSubsystemsIncluded>true</ConnectorsSubsystemsIncluded>
+							<JunctionboxIncluded>true</JunctionboxIncluded>
+							<TestingTemperature>20</TestingTemperature>
+							<OCV>
+								<Entry SoC="0" OCV="620.00"/>
+								<Entry SoC="100" OCV="640.00"/>
+							</OCV>
+							<InternalResistance>
+								<Entry SoC="100" R_2="12.00" R_10="14.00" R_20="16.00"/>
+								<Entry SoC="0" R_2="10.00" R_10="11.00" R_20="12.00"/>
+							</InternalResistance>
+							<CurrentLimits>
+								<Entry SoC="100" maxChargingCurrent="0.00" maxDischargingCurrent="50.00"/>
+								<Entry SoC="0" maxChargingCurrent="50.00" maxDischargingCurrent="0.00"/>
+							</CurrentLimits>
+						</v2.10.2:Data>
+						<v2.10.2:Signature>
+							<di:Reference URI="#REESS-asdfg">
+								<di:Transforms>
+									<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
+									<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
+								</di:Transforms>
+								<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
+								<di:DigestValue>vm6ZSTyOqaxiB7x+T3vpvFIMeM8wDIDiSta6JDI101k=</di:DigestValue>
+							</di:Reference>
+						</v2.10.2:Signature>
+					</REESS>
+				</Battery>
+			</ElectricEnergyStorage>
+			<IEPC>
+				<v2.10.1:Data xsi:type="IEPCMeasuredDataDeclarationType" id="IEPC-asdf" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1">
+					<Manufacturer>a</Manufacturer>
+					<Model>a</Model>
+					<CertificationNumber>token</CertificationNumber>
+					<Date>2017-01-01T00:00:00Z</Date>
+					<AppVersion>aaaaa</AppVersion>
+					<ElectricMachineType>ASM</ElectricMachineType>
+					<CertificationMethod>Measured for complete component</CertificationMethod>
+					<R85RatedPower>1</R85RatedPower>
+					<RotationalInertia>0.10</RotationalInertia>
+					<DifferentialIncluded>false</DifferentialIncluded>
+					<DesignTypeWheelMotor>false</DesignTypeWheelMotor>
+					<Gears xsi:type="v2.10.1:IEPCGearsDeclarationType">
+						<Gear number="2">
+							<Ratio>1.000</Ratio>
+							<MaxOutShaftTorque>2000</MaxOutShaftTorque>
+						</Gear>
+						<Gear number="1">
+							<Ratio>3.000</Ratio>
+						</Gear>
+					</Gears>
+					<VoltageLevel>
+						<Voltage>600</Voltage>
+						<ContinuousTorque>200.00</ContinuousTorque>
+						<TestSpeedContinuousTorque>2000.00</TestSpeedContinuousTorque>
+						<OverloadTorque>400.00</OverloadTorque>
+						<TestSpeedOverloadTorque>2000.00</TestSpeedOverloadTorque>
+						<OverloadDuration>30.00</OverloadDuration>
+						<MaxTorqueCurve>
+							<Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/>
+							<Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/>
+						</MaxTorqueCurve>
+						<PowerMap gear="2">
+							<Entry outShaftSpeed="0.00" torque="-500.00" electricPower="-1500.00"/>
+							<Entry outShaftSpeed="0.00" torque="500.00" electricPower="1500.00"/>
+							<Entry outShaftSpeed="5000.00" torque="-5000.00" electricPower="-25000.00"/>
+							<Entry outShaftSpeed="5000.00" torque="5000.00" electricPower="25000.00"/>
+						</PowerMap>
+						<PowerMap gear="1">
+							<Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/>
+							<Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/>
+							<Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/>
+							<Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/>
+						</PowerMap>
+					</VoltageLevel>
+					<VoltageLevel>
+						<Voltage>400</Voltage>
+						<ContinuousTorque>200.00</ContinuousTorque>
+						<TestSpeedContinuousTorque>2000.00</TestSpeedContinuousTorque>
+						<OverloadTorque>400.00</OverloadTorque>
+						<TestSpeedOverloadTorque>2000.00</TestSpeedOverloadTorque>
+						<OverloadDuration>30.00</OverloadDuration>
+						<MaxTorqueCurve>
+							<Entry outShaftSpeed="4000.00" maxTorque="100.00" minTorque="-100.00"/>
+							<Entry outShaftSpeed="0.00" maxTorque="450.00" minTorque="-450.00"/>
+
+						</MaxTorqueCurve>
+						<PowerMap gear="2">
+							<Entry outShaftSpeed="5000.00" torque="-5000.00" electricPower="-25000.00"/>
+							<Entry outShaftSpeed="0.00" torque="-500.00" electricPower="-1500.00"/>
+							<Entry outShaftSpeed="0.00" torque="500.00" electricPower="1500.00"/>
+							<Entry outShaftSpeed="5000.00" torque="5000.00" electricPower="25000.00"/>
+						</PowerMap>
+						<PowerMap gear="1">
+							<Entry outShaftSpeed="4000.00" torque="4000.00" electricPower="20000.00"/>
+							<Entry outShaftSpeed="0.00" torque="-400.00" electricPower="-1000.00"/>
+							<Entry outShaftSpeed="0.00" torque="400.00" electricPower="1000.00"/>
+							<Entry outShaftSpeed="4000.00" torque="-4000.00" electricPower="-20000.00"/>
+						</PowerMap>
+					</VoltageLevel>
+					<DragCurve gear="2">
+						<Entry outShaftSpeed="4500.00" dragTorque="35.00"/>
+						<Entry outShaftSpeed="0.00" dragTorque="15.00"/>
+					</DragCurve>
+					<DragCurve gear="1">
+						<Entry outShaftSpeed="4000.00" dragTorque="30.00"/>
+						<Entry outShaftSpeed="0.00" dragTorque="10.00"/>
+					</DragCurve>
+					<Conditioning>
+						<Entry coolantTempInlet="30" coolingPower="5000"/>
+					</Conditioning>
+				</v2.10.1:Data>
+				<v2.10.1:Signature>
+					<di:Reference URI="#IEPC-asdf">
+						<di:Transforms>
+							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+						</di:Transforms>
+						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+						<di:DigestValue>PwNmfGr07RNTd9qsy6Av/jl9rRCtve4sBrcqf9zDFU0=</di:DigestValue>
+					</di:Reference>
+				</v2.10.1:Signature>
+			</IEPC>
+			<Retarder>
+				<!-- optional -->
+				<v2.0:Data id="RET-Shai9imi" xsi:type="v2.0:RetarderDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
+					<Manufacturer>Generic Retarder Manufacturer</Manufacturer>
+					<Model>Generic Retarder</Model>
+					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
+					<Date>2017-01-11T11:00:00Z</Date>
+					<AppVersion>3.0.1</AppVersion>
+					<CertificationMethod>Standard values</CertificationMethod>
+					<RetarderLossMap>
+						<Entry retarderSpeed="2300.00" torqueLoss="20.58"/>
+						<Entry retarderSpeed="0.00" torqueLoss="10.00"/>
+					</RetarderLossMap>
+				</v2.0:Data>
+				<v2.0:Signature>
+					<di:Reference URI="#RET-Shai9imi">
+						<di:Transforms>
+							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+						</di:Transforms>
+						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+						<di:DigestValue>xcfok6Uo1kvFefSRo+W/oMfEfS5BdTklBugAjby2DUQ=</di:DigestValue>
+					</di:Reference>
+				</v2.0:Signature>
+			</Retarder>
+			<Axlegear>
+				<!-- optional -->
+				<v2.0:Data id="AXL-EC3ohnoh" xsi:type="v2.0:AxlegearDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
+					<Manufacturer>Generic Gearbox Manufacturer</Manufacturer>
+					<Model>Generic 40t Long Haul Truck AxleGear</Model>
+					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
+					<Date>2017-01-11T11:00:00Z</Date>
+					<AppVersion>3.0.1</AppVersion>
+					<LineType>Single portal axle</LineType>
+					<Ratio>2.590</Ratio>
+					<CertificationMethod>Standard values</CertificationMethod>
+					<TorqueLossMap>
+						<Entry inputSpeed="2100.00" inputTorque="-5000.00" torqueLoss="115.00"/>
+						<Entry inputSpeed="2100.00" inputTorque="0.00" torqueLoss="40.00"/>
+						<Entry inputSpeed="2100.00" inputTorque="35000.00" torqueLoss="565.00"/>
+						<Entry inputSpeed="0.00" inputTorque="-5000.00" torqueLoss="115.00"/>
+						<Entry inputSpeed="0.00" inputTorque="0.00" torqueLoss="40.00"/>
+						<Entry inputSpeed="0.00" inputTorque="15000.00" torqueLoss="265.00"/>
+
+					</TorqueLossMap>
+				</v2.0:Data>
+				<v2.0:Signature>
+					<di:Reference URI="#AXL-EC3ohnoh">
+						<di:Transforms>
+							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+						</di:Transforms>
+						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+						<di:DigestValue>Ux2vo+s07pGr9XCbvNs/YbJcFaZClORRGXpP6Eyeze8=</di:DigestValue>
+					</di:Reference>
+				</v2.0:Signature>
+			</Axlegear>
+			<AxleWheels>
+				<v2.0:Data xsi:type="v2.0:AxleWheelsDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
+					<Axles>
+						<Axle axleNumber="1" xsi:type="AxleDataDeclarationType">
+							<AxleType>VehicleNonDriven</AxleType>
+							<TwinTyres>false</TwinTyres>
+							<Steered>true</Steered>
+							<Tyre>
+								<Data id="WHL-5432198760-315-70-R22.5" xsi:type="TyreDataDeclarationType">
+									<Manufacturer>Generic Wheels Manufacturer</Manufacturer>
+									<Model>Generic Wheel</Model>
+									<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
+									<Date>2017-01-11T14:00:00Z</Date>
+									<AppVersion>Tyre Generation App 1.0</AppVersion>
+									<Dimension>315/70 R22.5</Dimension>
+									<RRCDeclared>0.0055</RRCDeclared>
+									<FzISO>31300</FzISO>
+								</Data>
+								<Signature>
+									<di:Reference URI="#WHL-5432198760-315-70-R22.5">
+										<di:Transforms>
+											<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+											<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+										</di:Transforms>
+										<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+										<di:DigestValue>A/sq1ng4cqeOyauDUqUEnonRSPch3VCqZDX9Pf3tW1Q=</di:DigestValue>
+									</di:Reference>
+								</Signature>
+							</Tyre>
+						</Axle>
+						<Axle axleNumber="2" xsi:type="AxleDataDeclarationType">
+							<AxleType>VehicleDriven</AxleType>
+							<TwinTyres>true</TwinTyres>
+							<Steered>false</Steered>
+							<Tyre>
+								<Data id="WHL-5432198760-315-70-R22.5" xsi:type="TyreDataDeclarationType">
+									<Manufacturer>Generic Wheels Manufacturer</Manufacturer>
+									<Model>Generic Wheel</Model>
+									<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
+									<Date>2017-01-11T14:00:00Z</Date>
+									<AppVersion>Tyre Generation App 1.0</AppVersion>
+									<Dimension>315/70 R22.5</Dimension>
+									<RRCDeclared>0.0063</RRCDeclared>
+									<FzISO>31300</FzISO>
+								</Data>
+								<Signature>
+									<di:Reference URI="#WHL-5432198760-315-70-R22.5">
+										<di:Transforms>
+											<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+											<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+										</di:Transforms>
+										<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+										<di:DigestValue>z+KDXmc5MIezM6RVgfYax5J9Efi0ghciG2/wLLmWaBk=</di:DigestValue>
+									</di:Reference>
+								</Signature>
+							</Tyre>
+						</Axle>
+					</Axles>
+				</v2.0:Data>
+			</AxleWheels>
+			<Auxiliaries>
+				<Data xsi:type="AUX_HEV-S_LorryDataType">
+					<Fan>
+						<Technology>Hydraulic driven - Constant displacement pump</Technology>
+					</Fan>
+					<SteeringPump>
+						<Technology axleNumber="1">Electric driven pump</Technology>
+						<Technology axleNumber="2">Full electric steering gear</Technology>
+					</SteeringPump>
+					<ElectricSystem>
+						<Technology>Standard technology - LED headlights, all</Technology>
+					</ElectricSystem>
+					<PneumaticSystem>
+						<Technology>Medium Supply 2-stage</Technology>
+					</PneumaticSystem>
+					<HVAC>
+						<Technology>Default</Technology>
+					</HVAC>
+				</Data>
+			</Auxiliaries>
+			<AirDrag>
+				<!-- optional -->
+				<Data id="CabinX23h" xsi:type="v2.0:AirDragDataDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
+					<Manufacturer>Generic Manufacturer</Manufacturer>
+					<Model>Generic Model</Model>
+					<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
+					<Date>2017-03-24T15:00:00Z</Date>
+					<AppVersion>Vecto AirDrag x.y</AppVersion>
+					<CdxA_0>6.31</CdxA_0>
+					<TransferredCdxA>6.32</TransferredCdxA>
+					<DeclaredCdxA>6.34</DeclaredCdxA>
+				</Data>
+				<v2.0:Signature>
+					<di:Reference URI="#CabinX23h">
+						<di:Transforms>
+							<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
+							<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
+						</di:Transforms>
+						<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
+						<di:DigestValue>NroIsfnT7+1zYG5CTHxpclh0ZaRZvGyrfFPmWdKbFbg=</di:DigestValue>
+					</di:Reference>
+				</v2.0:Signature>
+			</AirDrag>
+		</Components>
+	</v2.0:Vehicle>
+</tns:VectoInputDeclaration>
diff --git a/VectoCommon/VectoHashingTest/VectoHashSortTest.cs b/VectoCommon/VectoHashingTest/VectoComponentHashSortTest.cs
similarity index 99%
rename from VectoCommon/VectoHashingTest/VectoHashSortTest.cs
rename to VectoCommon/VectoHashingTest/VectoComponentHashSortTest.cs
index 769de14614..8e3c7e460b 100644
--- a/VectoCommon/VectoHashingTest/VectoHashSortTest.cs
+++ b/VectoCommon/VectoHashingTest/VectoComponentHashSortTest.cs
@@ -5,11 +5,11 @@ using TUGraz.VectoHashing;
 
 namespace VectoHashingTest
 {
-	public class VectoHashSortTest
+	public class VectoComponentHashSortTest
 	{
 		private const string UnsortedComponentPath = @"Testdata\XML\Sort\Component\Unsorted\";
 		private const string SortedComponentPath = @"Testdata\XML\Sort\Component\Sorted\";
-
+		
 		[OneTimeSetUp]
 		public void RunBeforeAnyTests()
 		{
diff --git a/VectoCommon/VectoHashingTest/VectoHashingTest.csproj b/VectoCommon/VectoHashingTest/VectoHashingTest.csproj
index 4b7926d5a0..8db9643bd9 100644
--- a/VectoCommon/VectoHashingTest/VectoHashingTest.csproj
+++ b/VectoCommon/VectoHashingTest/VectoHashingTest.csproj
@@ -62,8 +62,9 @@
     <Compile Include="BasicHasingTests.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="Utils\AssertHelper.cs" />
-    <Compile Include="VectoHashSortTest.cs" />
+    <Compile Include="VectoComponentHashSortTest.cs" />
     <Compile Include="VectoHashTest.cs" />
+    <Compile Include="VectoJobHashSortTest.cs" />
   </ItemGroup>
   <ItemGroup>
     <Content Include="Testdata\XML\Invalid\duplicate-sig.xml">
@@ -189,6 +190,12 @@
     <Content Include="Testdata\XML\Sort\Component\Unsorted\TrailerAerodynamicDevice.xml">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
+    <Content Include="Testdata\XML\Sort\Job\Sorted\HEV-S_heavyLorry_IEPC-S.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
+    <Content Include="Testdata\XML\Sort\Job\Unsorted\HEV-S_heavyLorry_IEPC-S.xml">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </Content>
     <Content Include="Testdata\XML\ToHash\multiple_components.xml">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </Content>
@@ -298,9 +305,7 @@
     <None Include="app.config" />
     <None Include="packages.config" />
   </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Testdata\XML\Sort\Job\" />
-  </ItemGroup>
+  <ItemGroup />
   <Choose>
     <When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
       <ItemGroup>
diff --git a/VectoCommon/VectoHashingTest/VectoJobHashSortTest.cs b/VectoCommon/VectoHashingTest/VectoJobHashSortTest.cs
new file mode 100644
index 0000000000..b0bfc44f10
--- /dev/null
+++ b/VectoCommon/VectoHashingTest/VectoJobHashSortTest.cs
@@ -0,0 +1,41 @@
+using System.IO;
+using NUnit.Framework;
+using TUGraz.VectoCommon.Hashing;
+using TUGraz.VectoHashing;
+
+namespace VectoHashingTest
+{
+    public class VectoJobHashSortTest
+    {
+
+		private const string UnsortedComponentPath = @"Testdata\XML\Sort\Job\Unsorted\";
+		private const string SortedComponentPath = @"Testdata\XML\Sort\Job\Sorted\";
+
+		[OneTimeSetUp]
+		public void RunBeforeAnyTests()
+		{
+			Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory);
+		}
+
+		[TestCase("IpWiBzrQINrCc3ZqloHqhPROp7XLcAAfHlTf1IRxsGg=", SortedComponentPath + "HEV-S_heavyLorry_IEPC-S.xml")]
+		[TestCase("IpWiBzrQINrCc3ZqloHqhPROp7XLcAAfHlTf1IRxsGg=", UnsortedComponentPath + "HEV-S_heavyLorry_IEPC-S.xml")]
+		public void TestJobHashSort(string expectedJobHash, string filePath)
+		{
+			var loadedFile = VectoHash.Load(filePath);
+
+			Assert.IsTrue(loadedFile.ValidateHash(VectoComponents.Engine));
+			Assert.IsTrue(loadedFile.ValidateHash(VectoComponents.ElectricMachineSystem));//ElectricMachineGEN
+			Assert.IsTrue(loadedFile.ValidateHash(VectoComponents.REESS,0));//ElectricEnergyStorage
+			Assert.IsTrue(loadedFile.ValidateHash(VectoComponents.REESS,1));//ElectricEnergyStorage
+			Assert.IsTrue(loadedFile.ValidateHash(VectoComponents.IEPC));
+			Assert.IsTrue(loadedFile.ValidateHash(VectoComponents.Retarder));
+			Assert.IsTrue(loadedFile.ValidateHash(VectoComponents.Axlegear));
+			Assert.IsTrue(loadedFile.ValidateHash(VectoComponents.Tyre,0));//AxelWheels
+			Assert.IsTrue(loadedFile.ValidateHash(VectoComponents.Tyre,1));//AxelWheels
+			Assert.IsTrue(loadedFile.ValidateHash(VectoComponents.Airdrag));
+
+			Assert.AreEqual(expectedJobHash, loadedFile.ComputeHash());
+		}
+
+	}
+}
-- 
GitLab