diff --git a/VectoCommon/VectoCommon/Hashing/VectoComponents.cs b/VectoCommon/VectoCommon/Hashing/VectoComponents.cs index f825f89aa1dbdb3b09457cd4ad4ad7d7bcfdb7e3..fb05a006d7d61bfd752572d34f2a5a6d0ba69bc5 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 3d834ede7d9b0d85507ef5de73bc241e3ea294bb..7a72762afe47b1f4395afdf50e3c3db0da9f00c3 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 8aa653f6d3f2043aacd26b5c22c9ab8dc8cf3f36..162b53b81a71cdad278f1bd1ba71a719b357f945 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 33e4e59f424e0f743d6dc704f0b80d131d9cb259..0bce8e86b3e279b0a9804fb59256c48b5871875a 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 0000000000000000000000000000000000000000..bb400ae0f8bbb26dcb558afc238859f4374684ec --- /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 0000000000000000000000000000000000000000..54c3f46d827d7524a851ba21c36cfd5f0ab9f16c --- /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 769de14614f016bc73063b2f5c31ae68543d7f34..8e3c7e460bf0c61db68efadcddb23a6371e6fc43 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 4b7926d5a032a0975793d44ca468db40cc56abd7..8db9643bd95d15a290c64a42f9a093c1113ef7eb 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 0000000000000000000000000000000000000000..b0bfc44f10ab51fcb56c184630c584accd628898 --- /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()); + } + + } +}