diff --git a/VectoCommon/VectoCommon/Hashing/VectoComponents.cs b/VectoCommon/VectoCommon/Hashing/VectoComponents.cs index 11c5729b957f4bf77ccb849ce480e173255c48cb..c9e480966fd5307e3873dd36de3b0b7f1a5c6eb4 100644 --- a/VectoCommon/VectoCommon/Hashing/VectoComponents.cs +++ b/VectoCommon/VectoCommon/Hashing/VectoComponents.cs @@ -79,7 +79,7 @@ namespace TUGraz.VectoCommon.Hashing case VectoComponents.VectoCustomerInformation: return "VectoCustomerInformation"; case VectoComponents.VectoPrimaryVehicleInformation: - return "VectoOutputPrimaryVehicle"; + return "PrimaryVehicle"; case VectoComponents.VectoManufacturingStage: return "ManufacturingStage"; default: diff --git a/VectoCommon/VectoHashingTest/Testdata/XML/Multistage/vecto_multistage_primary_vehicle_stage_2_3_group41.xml b/VectoCommon/VectoHashingTest/Testdata/XML/Multistage/vecto_multistage_primary_vehicle_stage_2_3_group41.xml new file mode 100644 index 0000000000000000000000000000000000000000..25f603ea99e35ce43fd01a44b2bf8917aa71a3d8 --- /dev/null +++ b/VectoCommon/VectoHashingTest/Testdata/XML/Multistage/vecto_multistage_primary_vehicle_stage_2_3_group41.xml @@ -0,0 +1,645 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VectoOutputMultistage xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1" +xmlns:di="http://www.w3.org/2000/09/xmldsig#" +xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" +xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" +xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" +xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" +xmlns:v2.8="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" +xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1 v:\VectoCore\VectoCore\Resources\XSD/VectoOutputMultistage.0.1.xsd"> + <PrimaryVehicle> + <Data id="PIF-d10aff76c5d149948046" xsi:type="PrimaryVehicleDataType"> + <Vehicle xsi:type="VehiclePIFType"> + <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> + <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> + <Model>Generic Model</Model> + <VIN>VEH-1234567890_nonSmart</VIN> + <Date>2017-02-15T11:00:00Z</Date> + <LegislativeCategory>M3</LegislativeCategory> + <ChassisConfiguration>Bus</ChassisConfiguration> + <AxleConfiguration>4x2</AxleConfiguration> + <Articulated>false</Articulated> + <TechnicalPermissibleMaximumLadenMass>28000</TechnicalPermissibleMaximumLadenMass> + <IdlingSpeed>700</IdlingSpeed> + <RetarderType>Transmission Output Retarder</RetarderType> + <RetarderRatio>1.000</RetarderRatio> + <AngledriveType>None</AngledriveType> + <ZeroEmissionVehicle>false</ZeroEmissionVehicle> + <ADAS xsi:type="v2.3:AdvancedDriverAssistantSystemsType"> + <v2.3:EngineStopStart>false</v2.3:EngineStopStart> + <v2.3:EcoRollWithoutEngineStop>false</v2.3:EcoRollWithoutEngineStop> + <v2.3:EcoRollWithEngineStop>false</v2.3:EcoRollWithEngineStop> + <v2.3:PredictiveCruiseControl>none</v2.3:PredictiveCruiseControl> + </ADAS> + <TorqueLimits xmlns:tcl="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="tcl:TorqueLimitsType"> + <tcl:Entry gear="6" maxTorque="1800"/> + <tcl:Entry gear="1" maxTorque="2500"/> + </TorqueLimits> + <Components xsi:type="VehicleComponentsPIFType"> + <Engine> + <Data xsi:type="EngineDataPIFType"> + <Manufacturer>Generic Engine Manufacturer</Manufacturer> + <Model>Generic primary bus 41 Engine</Model> + <CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber> + <Date>2017-02-15T11:00:00Z</Date> + <AppVersion>VectoEngine x.y</AppVersion> + <Displacement>7700</Displacement> + <RatedSpeed>2200</RatedSpeed> + <RatedPower>220000</RatedPower> + <MaxEngineTorque>1100</MaxEngineTorque> + <WHRType> + <v2.3:MechanicalOutputICE>false</v2.3:MechanicalOutputICE> + <v2.3:MechanicalOutputDrivetrain>false</v2.3:MechanicalOutputDrivetrain> + <v2.3:ElectricalOutput>false</v2.3:ElectricalOutput> + </WHRType> + <Mode> + <IdlingSpeed>700</IdlingSpeed> + <FullLoadAndDragCurve> + <Entry engineSpeed="600.00" maxTorque="546.02" dragTorque="-39.66" /> + <Entry engineSpeed="800.00" maxTorque="760.78" dragTorque="-48.83" /> + <Entry engineSpeed="1000.00" maxTorque="973.29" dragTorque="-56.44" /> + <Entry engineSpeed="1200.00" maxTorque="1092.03" dragTorque="-67.29" /> + <Entry engineSpeed="1400.00" maxTorque="1092.03" dragTorque="-77.58" /> + <Entry engineSpeed="1600.00" maxTorque="1092.03" dragTorque="-87.88" /> + <Entry engineSpeed="1800.00" maxTorque="1022.52" dragTorque="-94.11" /> + <Entry engineSpeed="2000.00" maxTorque="944.17" dragTorque="-100.76" /> + <Entry engineSpeed="2200.00" maxTorque="868.12" dragTorque="-113.36" /> + <Entry engineSpeed="2400.00" maxTorque="741.99" dragTorque="-122.60" /> + <Entry engineSpeed="2500.00" maxTorque="647.29" dragTorque="-126.66" /> + <Entry engineSpeed="2600.00" maxTorque="0.00" dragTorque="-132.07" /> + </FullLoadAndDragCurve> + <Fuels> + <FuelType>Diesel CI</FuelType> + </Fuels> + </Mode> + </Data> + </Engine> + <Transmission> + <Data xsi:type="TransmissionDataPIFType"> + <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> + <Model>AT 6 Gear</Model> + <MainCertificationMethod>Standard values</MainCertificationMethod> + <Date>2017-01-11T11:00:00Z</Date> + <AppVersion>3.0.1</AppVersion> + <TransmissionType>APT-S</TransmissionType> + <Gears xsi:type="TransmissionGearsPIFType"> + <Gear number="1"> + <Ratio>3.364</Ratio> + <MaxTorque>1900</MaxTorque> + <MaxSpeed>2500</MaxSpeed> + </Gear> + <Gear number="2"> + <Ratio>1.909</Ratio> + <MaxTorque>1900</MaxTorque> + <MaxSpeed>2500</MaxSpeed> + </Gear> + <Gear number="3"> + <Ratio>1.421</Ratio> + <MaxSpeed>2500</MaxSpeed> + </Gear> + <Gear number="4"> + <Ratio>1.000</Ratio> + <MaxSpeed>2500</MaxSpeed> + </Gear> + <Gear number="5"> + <Ratio>0.720</Ratio> + <MaxSpeed>2500</MaxSpeed> + </Gear> + <Gear number="6"> + <Ratio>0.615</Ratio> + <MaxSpeed>2500</MaxSpeed> + </Gear> + </Gears> + </Data> + </Transmission> + <Axlegear> + <Data xsi:type="AxlegearDataPIFType"> + <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> + <Model>Generic primary bus 41 AxleGear</Model> + <CertificationMethod>Standard values</CertificationMethod> + <Date>2017-01-11T11:00:00Z</Date> + <AppVersion>3.0.1</AppVersion> + <LineType>Single portal axle</LineType> + <Ratio>6.500</Ratio> + </Data> + </Axlegear> + <AxleWheels> + <Data xsi:type="AxleWheelsDataPIFType"> + <Axles> + <Axle axleNumber="1" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:AxleDataDeclarationType"> + <v2.0:AxleType>VehicleNonDriven</v2.0:AxleType> + <v2.0:TwinTyres>false</v2.0:TwinTyres> + <v2.0:Steered>true</v2.0:Steered> + <v2.0:Tyre> + <v2.0:Data id="WHL-5432198760-315-70-R22.5" xsi:type="v2.0:TyreDataDeclarationType"> + <v2.0:Manufacturer>Generic Wheels Manufacturer</v2.0:Manufacturer> + <v2.0:Model>Generic Wheel</v2.0:Model> + <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber> + <v2.0:Date>2017-01-11T14:00:00Z</v2.0:Date> + <v2.0:AppVersion>Tyre Generation App 1.0</v2.0:AppVersion> + <v2.0:Dimension>315/70 R22.5</v2.0:Dimension> + <v2.0:RRCDeclared>0.0055</v2.0:RRCDeclared> + <v2.0:FzISO>31300</v2.0:FzISO> + </v2.0:Data> + <v2.0:Signature> + <di:Reference URI="#WHL-5432198760-315-70-R22.5" xmlns:di="http://www.w3.org/2000/09/xmldsig#"> + <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>4TkUGQTX8tevHOU9Cj9uyCFuI/aqcEYlo/gyVjVQmv0=</di:DigestValue> + </di:Reference> + </v2.0:Signature> + </v2.0:Tyre> + </Axle> + <Axle axleNumber="2" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:AxleDataDeclarationType"> + <v2.0:AxleType>VehicleDriven</v2.0:AxleType> + <v2.0:TwinTyres>true</v2.0:TwinTyres> + <v2.0:Steered>false</v2.0:Steered> + <v2.0:Tyre> + <v2.0:Data id="WHL-5432198760-315-70-R22.5" xsi:type="v2.0:TyreDataDeclarationType"> + <v2.0:Manufacturer>Generic Wheels Manufacturer</v2.0:Manufacturer> + <v2.0:Model>Generic Wheel</v2.0:Model> + <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber> + <v2.0:Date>2017-01-11T14:00:00Z</v2.0:Date> + <v2.0:AppVersion>Tyre Generation App 1.1</v2.0:AppVersion> + <v2.0:Dimension>315/70 R22.5</v2.0:Dimension> + <v2.0:RRCDeclared>0.0063</v2.0:RRCDeclared> + <v2.0:FzISO>31300</v2.0:FzISO> + </v2.0:Data> + <v2.0:Signature> + <di:Reference URI="#WHL-5432198760-315-70-R22.5" xmlns:di="http://www.w3.org/2000/09/xmldsig#"> + <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>KljvtvGUUQ/L7MiLVAqU+bckL5PNDNNwdeLH9kUVrfM=</di:DigestValue> + </di:Reference> + </v2.0:Signature> + </v2.0:Tyre> + </Axle> + </Axles> + </Data> + </AxleWheels> + <Auxiliaries> + <Data xsi:type="AuxiliaryDataPIFType"> + <Fan> + <Technology>Hydraulic driven - Constant displacement pump</Technology> + </Fan> + <SteeringPump> + <Technology axleNumber="1">Variable displacement elec. controlled</Technology> + </SteeringPump> + <ElectricSystem> + <AlternatorTechnology>smart</AlternatorTechnology> + <SmartAlternator> + <RatedCurrent>310</RatedCurrent> + <RatedVoltage>48</RatedVoltage> + </SmartAlternator> + <Battery> + <BatteryTechnology>li-ion battery - high power</BatteryTechnology> + <RatedCapacity>1</RatedCapacity> + <NominalVoltage>48</NominalVoltage> + </Battery> +<!-- <MaxAlternatorPower>15000</MaxAlternatorPower> + <ElectricStorageCapacity>50</ElectricStorageCapacity> +--> <SupplyFromHEVPossible>false</SupplyFromHEVPossible> + </ElectricSystem> + <PneumaticSystem> + <SizeOfAirSupply>Large Supply 2-stage</SizeOfAirSupply> + <CompressorDrive>electrically</CompressorDrive> + <Clutch>none</Clutch> + <CompressorRatio>1.000</CompressorRatio> + <SmartCompressionSystem>true</SmartCompressionSystem> + <SmartRegenerationSystem>false</SmartRegenerationSystem> + <AirsuspensionControl>electronically</AirsuspensionControl> + <PneumaticSCRReagentDosing>true</PneumaticSCRReagentDosing> + </PneumaticSystem> + <HVAC> + <AdjustableCoolantThermostat>true</AdjustableCoolantThermostat> + <EngineWasteGasHeatExchanger>true</EngineWasteGasHeatExchanger> + </HVAC> + </Data> + </Auxiliaries> + </Components> + </Vehicle> + <InputDataSignature> + <di:Reference URI="#VEH-PrimaryBus_SmartPS"> + <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>uqcFIXtDYxvl513ruiYYJCrV1fIiyw37t8vJhg4xxoo=</di:DigestValue> + </di:Reference> + </InputDataSignature> + <ManufacturerRecordSignature> + <di:Reference URI="#RESULT-5f30c7fe665a47938f6b"> + <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>KUpFCKh1bu/YPwYj36kJK1uCrv++BTLf2OUZcOt43Os=</di:DigestValue> + </di:Reference> + </ManufacturerRecordSignature> + <Results> + <Status>success</Status> + <Result status="success"> + <VehicleGroup>P31SD</VehicleGroup> + <Mission>Heavy Urban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">13098.63</TotalVehicleMass> + <Payload unit="kg">1123.63</Payload> + <PassengerCount>16.52</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">20.73851</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">1520.18</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P31SD</VehicleGroup> + <Mission>Heavy Urban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">17593.16</TotalVehicleMass> + <Payload unit="kg">5618.16</Payload> + <PassengerCount>82.62</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">24.94611</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">1828.60</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P31SD</VehicleGroup> + <Mission>Urban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">13098.63</TotalVehicleMass> + <Payload unit="kg">1123.63</Payload> + <PassengerCount>16.52</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">16.93598</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">1241.44</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P31SD</VehicleGroup> + <Mission>Urban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">17593.16</TotalVehicleMass> + <Payload unit="kg">5618.16</Payload> + <PassengerCount>82.62</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">20.36950</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">1493.13</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P31SD</VehicleGroup> + <Mission>Suburban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">13098.63</TotalVehicleMass> + <Payload unit="kg">1123.63</Payload> + <PassengerCount>16.52</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">15.03487</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">1102.09</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P31SD</VehicleGroup> + <Mission>Suburban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">17593.16</TotalVehicleMass> + <Payload unit="kg">5618.16</Payload> + <PassengerCount>82.62</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">18.14589</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">1330.13</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P31SD</VehicleGroup> + <Mission>Interurban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">12854.90</TotalVehicleMass> + <Payload unit="kg">879.90</Payload> + <PassengerCount>12.39</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">12.90679</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">946.09</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P31SD</VehicleGroup> + <Mission>Interurban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">15494.61</TotalVehicleMass> + <Payload unit="kg">3519.61</Payload> + <PassengerCount>49.57</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">14.34621</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">1051.61</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P31DD</VehicleGroup> + <Mission>Heavy Urban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">13543.34</TotalVehicleMass> + <Payload unit="kg">1193.34</Payload> + <PassengerCount>17.55</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">21.81903</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">1599.38</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P31DD</VehicleGroup> + <Mission>Heavy Urban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">18316.69</TotalVehicleMass> + <Payload unit="kg">5966.69</Payload> + <PassengerCount>87.75</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">26.59833</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">1949.71</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P31DD</VehicleGroup> + <Mission>Urban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">13543.34</TotalVehicleMass> + <Payload unit="kg">1193.34</Payload> + <PassengerCount>17.55</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">17.82311</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">1306.47</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P31DD</VehicleGroup> + <Mission>Urban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">18316.69</TotalVehicleMass> + <Payload unit="kg">5966.69</Payload> + <PassengerCount>87.75</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">21.69768</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">1590.49</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P31DD</VehicleGroup> + <Mission>Suburban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">13543.34</TotalVehicleMass> + <Payload unit="kg">1193.34</Payload> + <PassengerCount>17.55</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">15.74932</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">1154.46</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P31DD</VehicleGroup> + <Mission>Suburban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">18316.69</TotalVehicleMass> + <Payload unit="kg">5966.69</Payload> + <PassengerCount>87.75</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">19.17775</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">1405.77</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P32SD</VehicleGroup> + <Mission>Interurban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">14225.44</TotalVehicleMass> + <Payload unit="kg">1075.44</Payload> + <PassengerCount>15.15</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">13.19757</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">967.41</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P32SD</VehicleGroup> + <Mission>Interurban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">16669.61</TotalVehicleMass> + <Payload unit="kg">3519.61</Payload> + <PassengerCount>49.57</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">14.54412</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">1066.11</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P32SD</VehicleGroup> + <Mission>Coach</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">14244.99</TotalVehicleMass> + <Payload unit="kg">1094.99</Payload> + <PassengerCount>15.42</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">11.13867</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">816.49</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P32SD</VehicleGroup> + <Mission>Coach</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">15887.48</TotalVehicleMass> + <Payload unit="kg">2737.48</Payload> + <PassengerCount>38.56</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">11.58643</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">849.31</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P32DD</VehicleGroup> + <Mission>Interurban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">14662.82</TotalVehicleMass> + <Payload unit="kg">1262.82</Payload> + <PassengerCount>17.79</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">13.62230</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">998.54</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P32DD</VehicleGroup> + <Mission>Interurban</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">17609.41</TotalVehicleMass> + <Payload unit="kg">4209.41</Payload> + <PassengerCount>59.29</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">15.22020</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">1115.67</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P32DD</VehicleGroup> + <Mission>Coach</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">14747.01</TotalVehicleMass> + <Payload unit="kg">1347.01</Payload> + <PassengerCount>18.97</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">11.61807</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">851.63</CO2> + </Result> + <Result status="success"> + <VehicleGroup>P32DD</VehicleGroup> + <Mission>Coach</Mission> + <SimulationParameters> + <TotalVehicleMass unit="kg">16767.53</TotalVehicleMass> + <Payload unit="kg">3367.53</Payload> + <PassengerCount>47.43</PassengerCount> + <FuelMode>single fuel mode</FuelMode> + </SimulationParameters> + <Fuel type="Diesel CI"> + <EnergyConsumption unit="MJ/km">12.15012</EnergyConsumption> + </Fuel> + <CO2 unit="g/km">890.63</CO2> + </Result> + </Results> + <ApplicationInformation> + <SimulationToolVersion>String</SimulationToolVersion> + <Date>2017-01-01T00:00:00Z</Date> + </ApplicationInformation> + </Data> + <Signature> + <di:Reference URI="#PIF-d10aff76c5d149948046"> + <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>VTu71FU/Sijqk2Z8sScROGolObZK/UNTycf4K2CAgEs=</di:DigestValue> + </di:Reference> + </Signature> + </PrimaryVehicle> + <ManufacturingStage stageCount="2"> + <Data xsi:type="BusManufacturingStageDataType" id="MSTG-1"> + <HashPreviousStage> + <di:Reference URI="#PIF-d10aff76c5d149948046"> + <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>VTu71FU/Sijqk2Z8sScROGolObZK/UNTycf4K2CAgEs=</di:DigestValue> + </di:Reference> + </HashPreviousStage> + <Vehicle xsi:type="v2.8:InterimStageInputType" id="MSTG-1-Vehicle"> + <v2.8:Manufacturer>Intermediate Manufacturer 1</v2.8:Manufacturer> + <v2.8:ManufacturerAddress>Intermediate Manufacturer Address 1</v2.8:ManufacturerAddress> + <v2.8:VIN>VEH-1234567890</v2.8:VIN> + <v2.8:Date>2018-02-15T11:00:00Z</v2.8:Date> + <v2.8:VehicleDeclarationType>interim</v2.8:VehicleDeclarationType> + </Vehicle> + <ApplicationInformation> + <SimulationToolVersion>!!NOT FOR CERTIFICATION!!</SimulationToolVersion> + <Date>2021-01-12T07:20:08.0187663Z</Date> + </ApplicationInformation> + </Data> + <Signature> + <di:Reference URI="#MSTG-1"> + <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>Muaefd8RS+EjtmMVbSejxbSy5Tgcpm/WqnoLk+YH8ho=</di:DigestValue> + </di:Reference> + </Signature> + </ManufacturingStage> + <ManufacturingStage stageCount="3"> + <Data xsi:type="BusManufacturingStageDataType" id="MSTG-2"> + <HashPreviousStage> + <di:Reference URI="#MSTG-1"> + <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>Muaefd8RS+EjtmMVbSejxbSy5Tgcpm/WqnoLk+YH8ho=</di:DigestValue> + </di:Reference> + </HashPreviousStage> + <Vehicle xsi:type="v2.8:InterimStageInputType" id="MSTG-2-Vehicle"> + <v2.8:Manufacturer>Intermediate Manufacturer 2</v2.8:Manufacturer> + <v2.8:ManufacturerAddress></v2.8:ManufacturerAddress> + <v2.8:VIN>VEH-2234567890</v2.8:VIN> + <v2.8:Date>2021-02-13T07:20:08.0187663Z</v2.8:Date> + <v2.8:VehicleDeclarationType>interim</v2.8:VehicleDeclarationType> + </Vehicle> + <ApplicationInformation> + <SimulationToolVersion>!!NOT FOR CERTIFICATION!!</SimulationToolVersion> + <Date>2021-02-13T07:20:08.0187663Z</Date> + </ApplicationInformation> + </Data> + <Signature> + <di:Reference URI="#MSTG-2"> + <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>l7Z22F1bPMaAD4+0WNY+cahbjDKE80gxYv6K91YTMcU=</di:DigestValue> + </di:Reference> + </Signature> + </ManufacturingStage> +</VectoOutputMultistage> diff --git a/VectoCommon/VectoHashingTest/VectoHashTest.cs b/VectoCommon/VectoHashingTest/VectoHashTest.cs index 104c8c4ba5dfdf585960b08357ee19c32a32777a..35be5eccbc510eed9af9339a03b0059e9ecb27fe 100644 --- a/VectoCommon/VectoHashingTest/VectoHashTest.cs +++ b/VectoCommon/VectoHashingTest/VectoHashTest.cs @@ -32,6 +32,7 @@ using System; using System.IO; using System.Linq; +using System.Runtime.Remoting.Metadata.W3cXsd2001; using System.Text; using System.Xml; using System.Xml.XPath; @@ -523,5 +524,75 @@ namespace VectoHashingTest var h = VectoHash.Load(file); Assert.IsTrue(h.ValidateHash()); } + + public const string MultistageFile = + @"Testdata\XML\Multistage\vecto_multistage_primary_vehicle_stage_2_3_group41.xml"; + + + + [TestCase(MultistageFile)] + public void TestMultistageComputeHashPrimary(string file) + { + var h = VectoHash.Load(file); + + var primaryHash = h.ComputeHash(VectoComponents.VectoPrimaryVehicleInformation); + + Assert.AreEqual("VTu71FU/Sijqk2Z8sScROGolObZK/UNTycf4K2CAgEs=", primaryHash); + } + + + [TestCase(MultistageFile)] + public void TestMultistageReadHashPrimary(string file) + { + var h = VectoHash.Load(file); + + var existingHash = h.ReadHash(VectoComponents.VectoPrimaryVehicleInformation); + Assert.AreEqual("VTu71FU/Sijqk2Z8sScROGolObZK/UNTycf4K2CAgEs=", existingHash); + } + + + [TestCase(MultistageFile)] + public void TestMultistageComputeInterimStage2(string file) + { + var h = VectoHash.Load(file); + + var primaryHash = h.ComputeHash(VectoComponents.VectoManufacturingStage, 0); + + Assert.AreEqual("Muaefd8RS+EjtmMVbSejxbSy5Tgcpm/WqnoLk+YH8ho=", primaryHash); + } + + + [TestCase(MultistageFile)] + public void TestMultistageComputeInterimStage3(string file) + { + var h = VectoHash.Load(file); + + var primaryHash = h.ComputeHash(VectoComponents.VectoManufacturingStage, 1); + + Assert.AreEqual("l7Z22F1bPMaAD4+0WNY+cahbjDKE80gxYv6K91YTMcU=", primaryHash); + } + + + [TestCase(MultistageFile)] + public void TestMultistageReadInterimStage2(string file) + { + var h = VectoHash.Load(file); + + var primaryHash = h.ReadHash(VectoComponents.VectoManufacturingStage, 0); + + Assert.AreEqual("Muaefd8RS+EjtmMVbSejxbSy5Tgcpm/WqnoLk+YH8ho=", primaryHash); + } + + + [TestCase(MultistageFile)] + public void TestMultistageReadInterimStage3(string file) + { + var h = VectoHash.Load(file); + + var primaryHash = h.ReadHash(VectoComponents.VectoManufacturingStage, 1); + + Assert.AreEqual("l7Z22F1bPMaAD4+0WNY+cahbjDKE80gxYv6K91YTMcU=", primaryHash); + } + } } diff --git a/VectoCommon/VectoHashingTest/VectoHashingTest.csproj b/VectoCommon/VectoHashingTest/VectoHashingTest.csproj index f5e6cd0be4107ca7dd7790b5300bb8f40a9f2747..9c1c1ad09cefc149fe86b11b0d86d5cc4f551a3c 100644 --- a/VectoCommon/VectoHashingTest/VectoHashingTest.csproj +++ b/VectoCommon/VectoHashingTest/VectoHashingTest.csproj @@ -68,6 +68,9 @@ <Content Include="Testdata\XML\Invalid\invalid-comp.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> + <Content Include="Testdata\XML\Multistage\vecto_multistage_primary_vehicle_stage_2_3_group41.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> <Content Include="Testdata\XML\Reference\vecto_engine-sample.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> @@ -186,6 +189,7 @@ <None Include="app.config" /> <None Include="packages.config" /> </ItemGroup> + <ItemGroup /> <Choose> <When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'"> <ItemGroup>