Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 1f9afecc authored by Raphael Kalchgruber's avatar Raphael Kalchgruber
Browse files

Results sorting for hashing + testcases and test files

Elements in results now get sorted.
Results by Mission and Total Vehicle Mass
Other Elements that get sorted:
Electric Consumption, FuelConsumption, CO2, Fuel Types, FC_ZEV_AuxHeater, Summary, OVC Mode, CO2_Zev_AuxHeater
parent 2423b903
No related branches found
No related tags found
No related merge requests found
Showing
with 4972 additions and 0 deletions
......@@ -364,4 +364,105 @@
</xsl:if>
</xsl:template>
<xsl:template match="*[local-name()='ElectricEnergy']">
<xsl:element name="{local-name()}">
<xsl:for-each select="*[local-name()='EnergyConsumption']">
<xsl:sort data-type="text" select="@unit" order="ascending"/>
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template match="*[local-name()='Result']//*[local-name()='Fuel' and @type]">
<xsl:if test="count(preceding-sibling::*[local-name()='Fuel']) = 0">
<xsl:for-each select="../*[local-name()='Fuel']">
<xsl:sort data-type="text" select="@type" order="ascending"/>
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()">
<xsl:sort data-type="text" select="@unit" order="ascending"/>
</xsl:apply-templates>
</xsl:element>
</xsl:for-each>
</xsl:if>
</xsl:template>
<xsl:template match="*[local-name()='Summary']//*[local-name()='Fuel' and @type]">
<xsl:if test="count(preceding-sibling::*[local-name()='Fuel']) = 0">
<xsl:for-each select="../*[local-name()='Fuel']">
<xsl:sort data-type="text" select="@type" order="ascending"/>
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()">
<xsl:sort data-type="text" select="@unit" order="ascending"/>
</xsl:apply-templates>
</xsl:element>
</xsl:for-each>
</xsl:if>
</xsl:template>
<xsl:template match="*[local-name()='CO2']">
<xsl:if test="count(preceding-sibling::*[local-name()='CO2']) = 0">
<xsl:for-each select="../*[local-name()='CO2']">
<xsl:sort data-type="text" select="@unit" order="ascending"/>
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()"/>
</xsl:element>
</xsl:for-each>
</xsl:if>
</xsl:template>
<xsl:template match="*[local-name()='Result']//*[local-name()='OVCMode' and @type]">
<xsl:if test="count(preceding-sibling::*[local-name()='OVCMode']) = 0">
<xsl:for-each select="../*[local-name()='OVCMode']">
<xsl:sort data-type="text" select="@type" order="ascending"/>
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()">
<xsl:sort data-type="text" select="@unit" order="ascending"/>
</xsl:apply-templates>
</xsl:element>
</xsl:for-each>
</xsl:if>
</xsl:template>
<xsl:template match="*[local-name()='Results']//*[local-name()='Result']">
<xsl:if test="count(preceding-sibling::*[local-name()='Result']) = 0">
<xsl:for-each select="../*[local-name()='Result']">
<xsl:sort data-type="text" select="./*[local-name()='Mission']" order="ascending"/>
<xsl:sort data-type="number" select="*[local-name()='SimulationParameters']//*[local-name()='TotalVehicleMass']" order="ascending"/>
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()"/>
</xsl:element>
</xsl:for-each>
</xsl:if>
</xsl:template>
<xsl:template match="*[local-name()='FC_ZEV_AuxHeater' and @type]">
<xsl:if test="count(preceding-sibling::*[local-name()='FC_ZEV_AuxHeater']) = 0">
<xsl:for-each select="../*[local-name()='FC_ZEV_AuxHeater']">
<xsl:sort data-type="text" select="@type" order="ascending"/>
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()">
<xsl:sort data-type="text" select="@unit" order="ascending"/>
</xsl:apply-templates>
</xsl:element>
</xsl:for-each>
</xsl:if>
</xsl:template>
<xsl:template match="*[local-name()='CO2_ZEV_AuxHeater' and @type]">
<xsl:if test="count(preceding-sibling::*[local-name()='CO2_ZEV_AuxHeater']) = 0">
<xsl:for-each select="../*[local-name()='CO2_ZEV_AuxHeater']">
<xsl:sort data-type="text" select="@type" order="ascending"/>
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()">
<xsl:sort data-type="text" select="@unit" order="ascending"/>
</xsl:apply-templates>
</xsl:element>
</xsl:for-each>
</xsl:if>
</xsl:template>
</xsl:transform>
<?xml version="1.0" encoding="utf-8"?>
<cif:VectoCustomerInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cif="urn:tugraz:ivt:VectoAPI:CustomerOutput" xmlns:cif0.9="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.9" xmlns="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.9" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:CustomerOutput V:\VectoCore\VectoCore\Resources\XSD/VectoOutputCustomer.xsd">
<cif:Data xsi:type="HEV_CompletedBusOutputType" id="CIF-2c9c1b6017374d239ce5">
<Vehicle xsi:type="HEV_S3_CompletedBusVehicleType">
<VIN>VEH-1234567890</VIN>
<VehicleCategory>M3</VehicleCategory>
<AxleConfiguration>4x2</AxleConfiguration>
<TechnicalPermissibleMaximumLadenMass unit="kg">3500</TechnicalPermissibleMaximumLadenMass>
<VehicleGroup>32e</VehicleGroup>
<VehicleGroupCO2>N/A</VehicleGroupCO2>
<Manufacturers>
<Step stepCount="1">
<Manufacturer>Generic Truck Manufacturer</Manufacturer>
<ManufacturerAddress>Street, ZIP City</ManufacturerAddress>
</Step>
<Step stepCount="2">
<Manufacturer>Some Manufacturer</Manufacturer>
<ManufacturerAddress>Some Manufacturer Address</ManufacturerAddress>
</Step>
</Manufacturers>
<Model>Sample Bus Model</Model>
<CorrectedActualMass unit="kg">500</CorrectedActualMass>
<ZeroEmissionVehicle>false</ZeroEmissionVehicle>
<HybridElectricHDV>false</HybridElectricHDV>
<WasteHeatRecovery>false</WasteHeatRecovery>
<DualFuelVehicle>false</DualFuelVehicle>
<ClassBus>II+III</ClassBus>
<TotalNumberOfPassengers>24</TotalNumberOfPassengers>
<HEVArchitecture>S3</HEVArchitecture>
<OffVehicleChargingCapability>false</OffVehicleChargingCapability>
<ADAS>
<EngineStopStart>true</EngineStopStart>
<PredictiveCruiseControl>false</PredictiveCruiseControl>
</ADAS>
<EngineRatedPower unit="kW">380</EngineRatedPower>
<EngineCapacity unit="ltr">12.7</EngineCapacity>
<FuelTypes>
<FuelType>NG PI</FuelType>
</FuelTypes>
<TotalRatedPropulsionPower unit="kW">50</TotalRatedPropulsionPower>
<VoltageLevels>
<VoltageLevel voltage="400">
<MaxContinuousPropulsionPower unit="kW">400</MaxContinuousPropulsionPower>
</VoltageLevel>
<VoltageLevel voltage="600">
<MaxContinuousPropulsionPower unit="kW">400</MaxContinuousPropulsionPower>
</VoltageLevel>
</VoltageLevels>
<TotalStorageCapacity unit="kWh">162</TotalStorageCapacity>
<UsableStorageCapacity unit="kWh">162</UsableStorageCapacity>
<NrOfGears>1</NrOfGears>
<Retarder>true</Retarder>
<AxleRatio>2.590</AxleRatio>
<AverageRRC>0.0059</AverageRRC>
<Axle axleNumber="1">
<TyreDimension>315/70 R22.5</TyreDimension>
<FuelEfficiencyClass />
<TyreCertificationNumber>e12*0815/8051*2017/05E0000*00</TyreCertificationNumber>
</Axle>
<Axle axleNumber="2">
<TyreDimension>315/70 R22.5</TyreDimension>
<FuelEfficiencyClass />
<TyreCertificationNumber>e12*0815/8051*2017/05E0000*00</TyreCertificationNumber>
</Axle>
<SteeringPump>
<Technology>Full electric steering gear</Technology>
</SteeringPump>
<ElectricSystem>
<AlternatorTechnology>conventional</AlternatorTechnology>
</ElectricSystem>
<PneumaticSystem>
<SmartRegenerationSystem>false</SmartRegenerationSystem>
</PneumaticSystem>
<HVAC>
<SystemConfiguration>1</SystemConfiguration>
<AuxiliaryHeaterPower unit="kW">50</AuxiliaryHeaterPower>
<DoubleGlazing>false</DoubleGlazing>
</HVAC>
</Vehicle>
<InputDataSignaturePrimaryVehicle>
<Reference URI="#a" xmlns="http://www.w3.org/2000/09/xmldsig#">
<Transforms>
<Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<DigestValue>vyNg1g1HfEWJ0Zd5YeXNZNTdxzUJTSUFOZWYP180fqY=</DigestValue>
</Reference>
</InputDataSignaturePrimaryVehicle>
<ManufacturerRecordSignaturePrimaryVehicle>
<Reference URI="#MRF-2bf066d674c143bb910d" xmlns="http://www.w3.org/2000/09/xmldsig#">
<Transforms>
<Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<DigestValue>ZsURRpQ1qjxFsVXTHPtcAlSb71kNLdOg9d+6UXqW8co=</DigestValue>
</Reference>
</ManufacturerRecordSignaturePrimaryVehicle>
<InputDataSignature>
<Reference URI="#MST-e67597d610b74032920c" xmlns="http://www.w3.org/2000/09/xmldsig#">
<Transforms>
<Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<DigestValue>yGBGKoh6BPY7/t67XzgEplq8lJ1kppAgjPnqlqMc33Q=</DigestValue>
</Reference>
</InputDataSignature>
<ManufacturerRecordSignature>
<Reference URI="#MRF-63c4d4a5804b47aa9cd5" xmlns="http://www.w3.org/2000/09/xmldsig#">
<Transforms>
<Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<DigestValue>XnPpRLXbf1naK1J9tlH///VGohBtD6mB/kLLUhWHACQ=</DigestValue>
</Reference>
</ManufacturerRecordSignature>
<Results>
<!--Always prints success at the moment-->
<Status>success</Status>
<Result status="success" xsi:type="ResultSuccessNonOVCHEVType">
<Mission>Coach</Mission>
<SimulationParameters>
<TotalVehicleMass unit="kg">17200</TotalVehicleMass>
<MassPassengers unit="kg">2600</MassPassengers>
<PassengerCount>13.75</PassengerCount>
</SimulationParameters>
<Total>
<AverageSpeed unit="km/h">1.2</AverageSpeed>
<Fuel type="NG PI">
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Total>
</Result>
<Result status="success" xsi:type="ResultSuccessNonOVCHEVType">
<Mission>Coach</Mission>
<SimulationParameters>
<TotalVehicleMass unit="kg">17201</TotalVehicleMass>
<MassPassengers unit="kg">2600</MassPassengers>
<PassengerCount>13.75</PassengerCount>
</SimulationParameters>
<Total>
<AverageSpeed unit="km/h">1.2</AverageSpeed>
<Fuel type="NG PI">
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Total>
</Result>
<Result status="success" xsi:type="ResultSuccessNonOVCHEVType">
<Mission>Coach</Mission>
<SimulationParameters>
<TotalVehicleMass unit="kg">17202</TotalVehicleMass>
<MassPassengers unit="kg">2600</MassPassengers>
<PassengerCount>13.75</PassengerCount>
</SimulationParameters>
<Total>
<AverageSpeed unit="km/h">1.2</AverageSpeed>
<Fuel type="NG PI">
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Total>
</Result>
<Result status="success" xsi:type="ResultSuccessNonOVCHEVType">
<Mission>Coach</Mission>
<SimulationParameters>
<TotalVehicleMass unit="kg">17203</TotalVehicleMass>
<MassPassengers unit="kg">2600</MassPassengers>
<PassengerCount>13.75</PassengerCount>
</SimulationParameters>
<Total>
<AverageSpeed unit="km/h">1.2</AverageSpeed>
<Fuel type="NG PI">
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Total>
</Result>
<Result status="success" xsi:type="ResultSuccessNonOVCHEVType">
<Mission>Interurban</Mission>
<SimulationParameters>
<TotalVehicleMass unit="kg">17200</TotalVehicleMass>
<MassPassengers unit="kg">2600</MassPassengers>
<PassengerCount>13.75</PassengerCount>
</SimulationParameters>
<Total>
<AverageSpeed unit="km/h">1.2</AverageSpeed>
<Fuel type="NG PI">
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Total>
</Result>
<Result status="success" xsi:type="ResultSuccessNonOVCHEVType">
<Mission>Interurban</Mission>
<SimulationParameters>
<TotalVehicleMass unit="kg">17201</TotalVehicleMass>
<MassPassengers unit="kg">2600</MassPassengers>
<PassengerCount>13.75</PassengerCount>
</SimulationParameters>
<Total>
<AverageSpeed unit="km/h">1.2</AverageSpeed>
<Fuel type="NG PI">
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Total>
</Result>
<Result status="success" xsi:type="ResultSuccessNonOVCHEVType">
<Mission>Interurban</Mission>
<SimulationParameters>
<TotalVehicleMass unit="kg">17202</TotalVehicleMass>
<MassPassengers unit="kg">2600</MassPassengers>
<PassengerCount>13.75</PassengerCount>
</SimulationParameters>
<Total>
<AverageSpeed unit="km/h">1.2</AverageSpeed>
<Fuel type="NG PI">
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Total>
</Result>
<Result status="success" xsi:type="ResultSuccessNonOVCHEVType">
<Mission>Interurban</Mission>
<SimulationParameters>
<TotalVehicleMass unit="kg">17203</TotalVehicleMass>
<MassPassengers unit="kg">2600</MassPassengers>
<PassengerCount>13.75</PassengerCount>
</SimulationParameters>
<Total>
<AverageSpeed unit="km/h">1.2</AverageSpeed>
<Fuel type="NG PI">
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Total>
</Result>
<Summary xsi:type="ResultSummaryNonOVCHEVType">
<AveragePassengerCount>3.141</AveragePassengerCount>
<Fuel type="NG PI">
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Summary>
</Results>
<ApplicationInformation>
<SimulationToolVersion>0.7.9.2835-DEV !!NOT FOR CERTIFICATION!!</SimulationToolVersion>
<Date>2022-10-06T11:34:38.8974512Z</Date>
</ApplicationInformation>
</cif:Data>
<cif:Signature>
<Reference URI="#CIF-2c9c1b6017374d239ce5" xmlns="http://www.w3.org/2000/09/xmldsig#">
<Transforms>
<Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<DigestValue>Rr6GknPuhM9WD7e/SZ5eQ5BsV79AxZ6qLEJPtyX/zdI=</DigestValue>
</Reference>
</cif:Signature>
</cif:VectoCustomerInformation>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<cif:VectoCustomerInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cif="urn:tugraz:ivt:VectoAPI:CustomerOutput" xmlns:cif0.9="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.9" xmlns="urn:tugraz:ivt:VectoAPI:CustomerOutput:v0.9" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:CustomerOutput V:\VectoCore\VectoCore\Resources\XSD/VectoOutputCustomer.xsd">
<cif:Data xsi:type="HEV_CompletedBusOutputType" id="CIF-2c9c1b6017374d239ce5">
<Vehicle xsi:type="HEV_S3_CompletedBusVehicleType">
<VIN>VEH-1234567890</VIN>
<VehicleCategory>M3</VehicleCategory>
<AxleConfiguration>4x2</AxleConfiguration>
<TechnicalPermissibleMaximumLadenMass unit="kg">3500</TechnicalPermissibleMaximumLadenMass>
<VehicleGroup>32e</VehicleGroup>
<VehicleGroupCO2>N/A</VehicleGroupCO2>
<Manufacturers>
<Step stepCount="1">
<Manufacturer>Generic Truck Manufacturer</Manufacturer>
<ManufacturerAddress>Street, ZIP City</ManufacturerAddress>
</Step>
<Step stepCount="2">
<Manufacturer>Some Manufacturer</Manufacturer>
<ManufacturerAddress>Some Manufacturer Address</ManufacturerAddress>
</Step>
</Manufacturers>
<Model>Sample Bus Model</Model>
<CorrectedActualMass unit="kg">500</CorrectedActualMass>
<ZeroEmissionVehicle>false</ZeroEmissionVehicle>
<HybridElectricHDV>false</HybridElectricHDV>
<WasteHeatRecovery>false</WasteHeatRecovery>
<DualFuelVehicle>false</DualFuelVehicle>
<ClassBus>II+III</ClassBus>
<TotalNumberOfPassengers>24</TotalNumberOfPassengers>
<HEVArchitecture>S3</HEVArchitecture>
<OffVehicleChargingCapability>false</OffVehicleChargingCapability>
<ADAS>
<EngineStopStart>true</EngineStopStart>
<PredictiveCruiseControl>false</PredictiveCruiseControl>
</ADAS>
<EngineRatedPower unit="kW">380</EngineRatedPower>
<EngineCapacity unit="ltr">12.7</EngineCapacity>
<FuelTypes>
<FuelType>NG PI</FuelType>
</FuelTypes>
<TotalRatedPropulsionPower unit="kW">50</TotalRatedPropulsionPower>
<VoltageLevels>
<VoltageLevel voltage="400">
<MaxContinuousPropulsionPower unit="kW">400</MaxContinuousPropulsionPower>
</VoltageLevel>
<VoltageLevel voltage="600">
<MaxContinuousPropulsionPower unit="kW">400</MaxContinuousPropulsionPower>
</VoltageLevel>
</VoltageLevels>
<TotalStorageCapacity unit="kWh">162</TotalStorageCapacity>
<UsableStorageCapacity unit="kWh">162</UsableStorageCapacity>
<NrOfGears>1</NrOfGears>
<Retarder>true</Retarder>
<AxleRatio>2.590</AxleRatio>
<AverageRRC>0.0059</AverageRRC>
<Axle axleNumber="1">
<TyreDimension>315/70 R22.5</TyreDimension>
<FuelEfficiencyClass />
<TyreCertificationNumber>e12*0815/8051*2017/05E0000*00</TyreCertificationNumber>
</Axle>
<Axle axleNumber="2">
<TyreDimension>315/70 R22.5</TyreDimension>
<FuelEfficiencyClass />
<TyreCertificationNumber>e12*0815/8051*2017/05E0000*00</TyreCertificationNumber>
</Axle>
<SteeringPump>
<Technology>Full electric steering gear</Technology>
</SteeringPump>
<ElectricSystem>
<AlternatorTechnology>conventional</AlternatorTechnology>
</ElectricSystem>
<PneumaticSystem>
<SmartRegenerationSystem>false</SmartRegenerationSystem>
</PneumaticSystem>
<HVAC>
<SystemConfiguration>1</SystemConfiguration>
<AuxiliaryHeaterPower unit="kW">50</AuxiliaryHeaterPower>
<DoubleGlazing>false</DoubleGlazing>
</HVAC>
</Vehicle>
<InputDataSignaturePrimaryVehicle>
<Reference URI="#a" xmlns="http://www.w3.org/2000/09/xmldsig#">
<Transforms>
<Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<DigestValue>vyNg1g1HfEWJ0Zd5YeXNZNTdxzUJTSUFOZWYP180fqY=</DigestValue>
</Reference>
</InputDataSignaturePrimaryVehicle>
<ManufacturerRecordSignaturePrimaryVehicle>
<Reference URI="#MRF-2bf066d674c143bb910d" xmlns="http://www.w3.org/2000/09/xmldsig#">
<Transforms>
<Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<DigestValue>ZsURRpQ1qjxFsVXTHPtcAlSb71kNLdOg9d+6UXqW8co=</DigestValue>
</Reference>
</ManufacturerRecordSignaturePrimaryVehicle>
<InputDataSignature>
<Reference URI="#MST-e67597d610b74032920c" xmlns="http://www.w3.org/2000/09/xmldsig#">
<Transforms>
<Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<DigestValue>yGBGKoh6BPY7/t67XzgEplq8lJ1kppAgjPnqlqMc33Q=</DigestValue>
</Reference>
</InputDataSignature>
<ManufacturerRecordSignature>
<Reference URI="#MRF-63c4d4a5804b47aa9cd5" xmlns="http://www.w3.org/2000/09/xmldsig#">
<Transforms>
<Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<DigestValue>XnPpRLXbf1naK1J9tlH///VGohBtD6mB/kLLUhWHACQ=</DigestValue>
</Reference>
</ManufacturerRecordSignature>
<Results>
<!--Always prints success at the moment-->
<Status>success</Status>
<Result status="success" xsi:type="ResultSuccessNonOVCHEVType">
<Mission>Coach</Mission>
<SimulationParameters>
<TotalVehicleMass unit="kg">17200</TotalVehicleMass>
<MassPassengers unit="kg">2600</MassPassengers>
<PassengerCount>13.75</PassengerCount>
</SimulationParameters>
<Total>
<AverageSpeed unit="km/h">1.2</AverageSpeed>
<Fuel type="NG PI">
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Total>
</Result>
<Result status="success" xsi:type="ResultSuccessNonOVCHEVType">
<Mission>Coach</Mission>
<SimulationParameters>
<TotalVehicleMass unit="kg">17201</TotalVehicleMass>
<MassPassengers unit="kg">2600</MassPassengers>
<PassengerCount>13.75</PassengerCount>
</SimulationParameters>
<Total>
<AverageSpeed unit="km/h">1.2</AverageSpeed>
<Fuel type="NG PI">
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Total>
</Result>
<Result status="success" xsi:type="ResultSuccessNonOVCHEVType">
<Mission>Coach</Mission>
<SimulationParameters>
<TotalVehicleMass unit="kg">17202</TotalVehicleMass>
<MassPassengers unit="kg">2600</MassPassengers>
<PassengerCount>13.75</PassengerCount>
</SimulationParameters>
<Total>
<AverageSpeed unit="km/h">1.2</AverageSpeed>
<Fuel type="NG PI">
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Total>
</Result>
<Result status="success" xsi:type="ResultSuccessNonOVCHEVType">
<Mission>Coach</Mission>
<SimulationParameters>
<TotalVehicleMass unit="kg">17203</TotalVehicleMass>
<MassPassengers unit="kg">2600</MassPassengers>
<PassengerCount>13.75</PassengerCount>
</SimulationParameters>
<Total>
<AverageSpeed unit="km/h">1.2</AverageSpeed>
<Fuel type="NG PI">
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Total>
</Result>
<Result status="success" xsi:type="ResultSuccessNonOVCHEVType">
<Mission>Interurban</Mission>
<SimulationParameters>
<TotalVehicleMass unit="kg">17200</TotalVehicleMass>
<MassPassengers unit="kg">2600</MassPassengers>
<PassengerCount>13.75</PassengerCount>
</SimulationParameters>
<Total>
<AverageSpeed unit="km/h">1.2</AverageSpeed>
<Fuel type="NG PI">
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Total>
</Result>
<Result status="success" xsi:type="ResultSuccessNonOVCHEVType">
<Mission>Interurban</Mission>
<SimulationParameters>
<TotalVehicleMass unit="kg">17201</TotalVehicleMass>
<MassPassengers unit="kg">2600</MassPassengers>
<PassengerCount>13.75</PassengerCount>
</SimulationParameters>
<Total>
<AverageSpeed unit="km/h">1.2</AverageSpeed>
<Fuel type="NG PI">
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Total>
</Result>
<Result status="success" xsi:type="ResultSuccessNonOVCHEVType">
<Mission>Interurban</Mission>
<SimulationParameters>
<TotalVehicleMass unit="kg">17203</TotalVehicleMass>
<MassPassengers unit="kg">2600</MassPassengers>
<PassengerCount>13.75</PassengerCount>
</SimulationParameters>
<Total>
<AverageSpeed unit="km/h">1.2</AverageSpeed>
<Fuel type="NG PI">
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Total>
</Result>
<Result status="success" xsi:type="ResultSuccessNonOVCHEVType">
<Mission>Interurban</Mission>
<SimulationParameters>
<TotalVehicleMass unit="kg">17202</TotalVehicleMass>
<MassPassengers unit="kg">2600</MassPassengers>
<PassengerCount>13.75</PassengerCount>
</SimulationParameters>
<Total>
<AverageSpeed unit="km/h">1.2</AverageSpeed>
<Fuel type="NG PI">
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/km">8.1</CO2>
<CO2 unit="g/p-km">8.2</CO2>
</Total>
</Result>
<Summary xsi:type="ResultSummaryNonOVCHEVType">
<AveragePassengerCount>3.141</AveragePassengerCount>
<Fuel type="NG PI">
<FuelConsumption unit="g/p-km">6.21</FuelConsumption>
<FuelConsumption unit="MJ/km">6.221</FuelConsumption>
<FuelConsumption unit="g/km">6.1</FuelConsumption>
<FuelConsumption unit="MJ/p-km">6.222</FuelConsumption>
</Fuel>
<CO2 unit="g/p-km">8.2</CO2>
<CO2 unit="g/km">8.1</CO2>
</Summary>
</Results>
<ApplicationInformation>
<SimulationToolVersion>0.7.9.2835-DEV !!NOT FOR CERTIFICATION!!</SimulationToolVersion>
<Date>2022-10-06T11:34:38.8974512Z</Date>
</ApplicationInformation>
</cif:Data>
<cif:Signature>
<Reference URI="#CIF-2c9c1b6017374d239ce5" xmlns="http://www.w3.org/2000/09/xmldsig#">
<Transforms>
<Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<DigestValue>Rr6GknPuhM9WD7e/SZ5eQ5BsV79AxZ6qLEJPtyX/zdI=</DigestValue>
</Reference>
</cif:Signature>
</cif:VectoCustomerInformation>
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Security.Cryptography.Xml;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Linq;
using System.Xml.XPath;
using System.Xml.Xsl;
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
using NUnit.Framework;
using TUGraz.VectoCommon.Hashing;
using TUGraz.VectoCore.Utils;
using TUGraz.VectoHashing;
using TUGraz.VectoHashing.Util;
using TUGraz.VectoCommon.Resources;
using TUGraz.VectoHashing.Impl;
using XmlDocumentType = TUGraz.VectoCore.Utils.XmlDocumentType;
namespace VectoHashingTest
{
public class VectoResultHashSort
{
private const string UnsortedJobPath = @"TestData\XML\Sort\Results\Unsorted\";
private const string SortedJobPath = @"TestData\XML\Sort\Results\Sorted\";
public void RunBeforeAnyTests()
{
Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory);
}
/*
* How to get the Hardcoded Hashes
* - Manually Sort the file you want to Hash
* - Comment out the new code in the XSLT that you want to test
* - Run the Code and replace the existing hash with the new one
* - Comment in the new code in the XSLT and run the code
*/
// EnergyConsumption, FC_ZEV_AuxHeater,CO2_ZEV_AuxHeater, Result
[TestCase(@"PEV_completedBus_2.RSLT_MANUFACTURER.xml", XmlDocumentType.ManufacturerReport, "6JIUDLbLsVMA5nAul/Nm7O2NQcS+DJJ0sJvCqMthh5o="),
// Fuel (dual fuel), Fuel Consumption, CO2, Result
TestCase(@"Conventional_heavyLorry_AMT.RSLT_MANUFACTURER.xml", XmlDocumentType.ManufacturerReport, "v4FQcM3lTvEv0HGAu9j6RQrhCcXYAU2C7WweFqecoA4="),
//Fuel Consumption, CO2, Result, Summary
TestCase(@"HEV_completedBus_2.RSLT_CUSTOMER.xml", XmlDocumentType.CustomerReport, "/vQ5KuMptNzZfmJBDAToZOdPu6LqJI7n044Q+0sh9e8="),
//OVC Mode, Fuel Consumption, CO2, Result, EnergyConsumption
TestCase(@"HEV-S_heavyLorry_S3_ovc.RSLT_MANUFACTURER.xml", XmlDocumentType.ManufacturerReport, "YUgsMeTcQfLAjH/bqJ7RyHuz7HEXfAUlZzaI4PzZ/Yg="),
//EnergyConsumption, FC_ZEV_AuxHeater, CO2_ZEV_AuxHeater, Result, Summary
TestCase(@"PEV_completedBus_2.RSLT_CUSTOMER.xml", XmlDocumentType.CustomerReport, "iebdqUqvC1bt0NyEe+/4kRf+YMA9SGSb+955nOeSBQM=")]
public void TestValidation(string filename, XmlDocumentType documentType, string sortedHash)
{
//var hashsorted = ComputeHash(filename, true, documentType);
var hashunsorted = ComputeHash(filename, false, documentType);
Assert.AreEqual(sortedHash,hashunsorted);
}
public string ComputeHash(string jobname, bool sorted, XmlDocumentType documentType)
{
string path = sorted ? SortedJobPath + jobname : UnsortedJobPath + jobname;
var doc = XDocument.Load(XmlReader.Create(path));
/*
MrfDocument = XDocument.Load(XmlReader.Create(mainFile));
var result = doc.XPathSelectElement("//*[local-name()='Results']");
var oldResult = MrfDocument.XPathSelectElement("//*[local-name()='Results']");
oldResult.ReplaceWith(result);
*/
var stream = new MemoryStream();
stream.Seek(0, SeekOrigin.Begin);
var writer = new StreamWriter(stream);
writer.Write(doc);
writer.Flush();
stream.Seek(0, SeekOrigin.Begin);
var validator = new XMLValidator(XmlReader.Create(stream));
Assert.IsTrue(validator.ValidateXML(documentType), validator.ValidationError);
stream.Seek(0, SeekOrigin.Begin);
var hash = VectoHash.Load(stream).ComputeHash();
return hash;
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment