From 1fc30cab4b7ae80f85e06549525caecd9c42df50 Mon Sep 17 00:00:00 2001 From: "VKMTHD\\haraldmartini" <harald.martini@student.tugraz.at> Date: Fri, 17 Mar 2023 13:54:28 +0100 Subject: [PATCH] added asserthelper and mockdialog helper --- ...ge_conventional_final_vif.VIF_Report_1.xml | 690 ------------------ Vecto3GUI2020Test/Utils/AssertHelper.cs | 22 + Vecto3GUI2020Test/Utils/MockDialogHelper.cs | 135 ++++ 3 files changed, 157 insertions(+), 690 deletions(-) delete mode 100644 Vecto3GUI2020Test/TestData/vecto_multistage_conventional_final_vif.VIF_Report_1.xml create mode 100644 Vecto3GUI2020Test/Utils/AssertHelper.cs create mode 100644 Vecto3GUI2020Test/Utils/MockDialogHelper.cs diff --git a/Vecto3GUI2020Test/TestData/vecto_multistage_conventional_final_vif.VIF_Report_1.xml b/Vecto3GUI2020Test/TestData/vecto_multistage_conventional_final_vif.VIF_Report_1.xml deleted file mode 100644 index ad423c74f4..0000000000 --- a/Vecto3GUI2020Test/TestData/vecto_multistage_conventional_final_vif.VIF_Report_1.xml +++ /dev/null @@ -1,690 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<VectoOutputMultistep xmlns:di="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vif0.1="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1" 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.10.2="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.2" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1 V:\VectoCore\VectoCore\Resources\XSD/VectoOutputMultistep.0.1.xsd" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1"> - <PrimaryVehicle> - <Data id="VEH-622a60d3b3cf4340a362" xsi:type="PrimaryVehicleDataType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1"> - <Vehicle xsi:type="VehiclePIFType"> - <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> - <Model>Generic Model</Model> - <VIN>VEH-1234567890</VIN> - <Date>2017-02-15T11:00:00Z</Date> - <LegislativeCategory>M3</LegislativeCategory> - <ChassisConfiguration>Bus</ChassisConfiguration> - <AxleConfiguration>4x2</AxleConfiguration> - <Articulated>false</Articulated> - <TechnicalPermissibleMaximumLadenMass>25000</TechnicalPermissibleMaximumLadenMass> - <IdlingSpeed>600</IdlingSpeed> - <RetarderType>Transmission Output Retarder</RetarderType> - <RetarderRatio>1.000</RetarderRatio> - <AngledriveType>None</AngledriveType> - <ZeroEmissionVehicle>false</ZeroEmissionVehicle> - <vif0.1:ADAS xsi:type="ADAS_Conventional_Type" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.2"> - <EngineStopStart>false</EngineStopStart> - <EcoRollWithoutEngineStop>false</EcoRollWithoutEngineStop> - <EcoRollWithEngineStop>false</EcoRollWithEngineStop> - <PredictiveCruiseControl>none</PredictiveCruiseControl> - </vif0.1:ADAS> - <vif0.1:TorqueLimits xsi:type="TorqueLimitsType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> - <v2.0:Entry gear="6" maxTorque="1800" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" /> - <v2.0:Entry gear="1" maxTorque="2500" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" /> - <v2.0:Entry gear="12" maxTorque="1900" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" /> - </vif0.1:TorqueLimits> - <Components xsi:type="VehicleComponentsPIFType"> - <Engine> - <Data xsi:type="EngineDataPIFType"> - <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> - <RatedSpeed>2200</RatedSpeed> - <RatedPower>380000</RatedPower> - <MaxEngineTorque>2400</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>560</IdlingSpeed> - <FullLoadAndDragCurve> - <Entry engineSpeed="560.00" maxTorque="1180.00" dragTorque="-149.00" /> - <Entry engineSpeed="600.00" maxTorque="1282.00" dragTorque="-148.00" /> - <Entry engineSpeed="800.00" maxTorque="1791.00" dragTorque="-149.00" /> - <Entry engineSpeed="1000.00" maxTorque="2300.00" dragTorque="-160.00" /> - <Entry engineSpeed="1200.00" maxTorque="2300.00" dragTorque="-179.00" /> - <Entry engineSpeed="1400.00" maxTorque="2300.00" dragTorque="-203.00" /> - <Entry engineSpeed="1600.00" maxTorque="2079.00" dragTorque="-235.00" /> - <Entry engineSpeed="1800.00" maxTorque="1857.00" dragTorque="-264.00" /> - <Entry engineSpeed="2000.00" maxTorque="1352.00" dragTorque="-301.00" /> - <Entry engineSpeed="2100.00" maxTorque="1100.00" dragTorque="-320.00" /> - </FullLoadAndDragCurve> - <Fuels> - <FuelType>NG CI</FuelType> - </Fuels> - </Mode> - </Data> - </Engine> - <Transmission> - <Data xsi:type="TransmissionDataPIFType"> - <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> - <Model>Generic 40t Long Haul Truck Gearbox</Model> - <MainCertificationMethod>Standard values</MainCertificationMethod> - <Date>2017-01-11T11:00:00Z</Date> - <AppVersion>3.0.1</AppVersion> - <TransmissionType>AMT</TransmissionType> - <Gears xsi:type="TransmissionGearsPIFType"> - <Gear number="1"> - <Ratio>14.930</Ratio> - <MaxTorque>1900</MaxTorque> - <MaxSpeed>2000</MaxSpeed> - </Gear> - <Gear number="2"> - <Ratio>11.640</Ratio> - <MaxTorque>1900</MaxTorque> - <MaxSpeed>2000</MaxSpeed> - </Gear> - <Gear number="3"> - <Ratio>9.020</Ratio> - <MaxSpeed>2000</MaxSpeed> - </Gear> - <Gear number="4"> - <Ratio>7.040</Ratio> - <MaxSpeed>2000</MaxSpeed> - </Gear> - <Gear number="5"> - <Ratio>5.640</Ratio> - <MaxSpeed>2000</MaxSpeed> - </Gear> - <Gear number="6"> - <Ratio>4.400</Ratio> - <MaxSpeed>2000</MaxSpeed> - </Gear> - <Gear number="7"> - <Ratio>3.390</Ratio> - <MaxSpeed>2000</MaxSpeed> - </Gear> - <Gear number="8"> - <Ratio>2.650</Ratio> - <MaxSpeed>2000</MaxSpeed> - </Gear> - <Gear number="9"> - <Ratio>2.050</Ratio> - <MaxSpeed>2000</MaxSpeed> - </Gear> - <Gear number="10"> - <Ratio>1.600</Ratio> - <MaxSpeed>2000</MaxSpeed> - </Gear> - <Gear number="11"> - <Ratio>1.280</Ratio> - <MaxSpeed>2000</MaxSpeed> - </Gear> - <Gear number="12"> - <Ratio>1.000</Ratio> - </Gear> - </Gears> - </Data> - </Transmission> - <Axlegear> - <Data xsi:type="AxlegearDataPIFType"> - <Manufacturer>Generic Gearbox Manufacturer</Manufacturer> - <Model>Generic 40t Long Haul Truck AxleGear</Model> - <CertificationMethod>Standard values</CertificationMethod> - <Date>2017-01-11T11:00:00Z</Date> - <AppVersion>3.0.1</AppVersion> - <LineType>Single portal axle</LineType> - <Ratio>2.590</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.0</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>conventional</AlternatorTechnology> - </ElectricSystem> - <PneumaticSystem> - <SizeOfAirSupply>Large Supply 2-stage</SizeOfAirSupply> - <CompressorDrive>electrically</CompressorDrive> - <Clutch>none</Clutch> - <CompressorRatio>1.000</CompressorRatio> - <SmartCompressionSystem>false</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-1234567890"> - <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>8uY4dWDsEyozlZhzV8X7Fq1tavvoBIXiCn8oAUcsjVw=</di:DigestValue> - </di:Reference> - </InputDataSignature> - <ManufacturerRecordSignature> - <di:Reference URI="#RESULT-c2756d6f924c489c81e9"> - <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>kCeubdlXuVQOI1TTqjrTTxSNL8vfA19QjSy60xXYCa4=</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="NG CI"> - <EnergyConsumption unit="MJ/km">19.71467</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">1104.84</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="NG CI"> - <EnergyConsumption unit="MJ/km">23.22512</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">1301.57</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="NG CI"> - <EnergyConsumption unit="MJ/km">15.45965</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">866.38</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="NG CI"> - <EnergyConsumption unit="MJ/km">18.39275</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">1030.76</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="NG CI"> - <EnergyConsumption unit="MJ/km">13.17582</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">738.40</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="NG CI"> - <EnergyConsumption unit="MJ/km">16.00192</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">896.77</CO2> - </Result> - <Result status="success"> - <VehicleGroup>P31SD</VehicleGroup> - <Mission>Interurban</Mission> - <SimulationParameters> - <TotalVehicleMass unit="kg">13050.44</TotalVehicleMass> - <Payload unit="kg">1075.44</Payload> - <PassengerCount>15.15</PassengerCount> - <FuelMode>single fuel mode</FuelMode> - </SimulationParameters> - <Fuel type="NG CI"> - <EnergyConsumption unit="MJ/km">11.11672</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">623.00</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="NG CI"> - <EnergyConsumption unit="MJ/km">12.34809</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">692.01</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="NG CI"> - <EnergyConsumption unit="MJ/km">20.71050</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">1160.65</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="NG CI"> - <EnergyConsumption unit="MJ/km">24.68655</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">1383.48</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="NG CI"> - <EnergyConsumption unit="MJ/km">16.25928</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">911.20</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="NG CI"> - <EnergyConsumption unit="MJ/km">19.58479</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">1097.56</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="NG CI"> - <EnergyConsumption unit="MJ/km">13.83088</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">775.11</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="NG CI"> - <EnergyConsumption unit="MJ/km">17.02489</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">954.10</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="NG CI"> - <EnergyConsumption unit="MJ/km">11.30640</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">633.63</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="NG CI"> - <EnergyConsumption unit="MJ/km">12.56427</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">704.12</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="NG CI"> - <EnergyConsumption unit="MJ/km">8.73159</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">489.33</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="NG CI"> - <EnergyConsumption unit="MJ/km">9.18847</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">514.94</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="NG CI"> - <EnergyConsumption unit="MJ/km">11.67569</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">654.33</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="NG CI"> - <EnergyConsumption unit="MJ/km">13.23582</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">741.76</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="NG CI"> - <EnergyConsumption unit="MJ/km">9.18672</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">514.84</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="NG CI"> - <EnergyConsumption unit="MJ/km">9.74629</EnergyConsumption> - </Fuel> - <CO2 unit="g/km">546.20</CO2> - </Result> - </Results> - <ApplicationInformation> - <SimulationToolVersion>0.7.5.2380-DEV !!NOT FOR CERTIFICATION!!</SimulationToolVersion> - <Date>2021-08-24T08:43:39.7171617Z</Date> - </ApplicationInformation> - </Data> - <Signature> - <di:Reference URI="#VEH-622a60d3b3cf4340a362"> - <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>PMrdzQUpL67ALWFQpWjxSieZ4KQ2iqS2y4BmHV3nJ0g=</di:DigestValue> - </di:Reference> - </Signature> - </PrimaryVehicle> - <ManufacturingStep stepCount="2"> - <Data xsi:type="BusManufacturingStepDataType" id="MST-0adf9390bde54a23a113" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1"> - <HashPreviousStep> - <di:Reference URI="#VEH-622a60d3b3cf4340a362"> - <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>PMrdzQUpL67ALWFQpWjxSieZ4KQ2iqS2y4BmHV3nJ0g=</di:DigestValue> - </di:Reference> - </HashPreviousStep> - <vif0.1:Vehicle xsi:type="Vehicle_Conventional_CompletedBusDeclarationType" id="VEH-09ab483f390a40d58f5a" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.2"> - <Manufacturer>Some Manufacturer</Manufacturer> - <ManufacturerAddress>Some Manufacturer Address</ManufacturerAddress> - <VIN>VEH-1234567890</VIN> - <Date>2021-08-23T22:00:00Z</Date> - <Model>Sample Bus Model</Model> - <LegislativeCategory>M3</LegislativeCategory> - <CorrectedActualMass>500</CorrectedActualMass> - <TechnicalPermissibleMaximumLadenMass>3500</TechnicalPermissibleMaximumLadenMass> - <AirdragModifiedMultistep>true</AirdragModifiedMultistep> - <ClassBus>II+III</ClassBus> - <NgTankSystem>Compressed</NgTankSystem> - <NumberPassengerSeatsLowerDeck>1</NumberPassengerSeatsLowerDeck> - <NumberPassengersStandingLowerDeck>10</NumberPassengersStandingLowerDeck> - <NumberPassengerSeatsUpperDeck>11</NumberPassengerSeatsUpperDeck> - <NumberPassengersStandingUpperDeck>2</NumberPassengersStandingUpperDeck> - <BodyworkCode>CB</BodyworkCode> - <LowEntry>false</LowEntry> - <HeightIntegratedBody>2500</HeightIntegratedBody> - <VehicleLength>9500</VehicleLength> - <VehicleWidth>2500</VehicleWidth> - <EntranceHeight>2000</EntranceHeight> - <DoorDriveTechnology>electric</DoorDriveTechnology> - <VehicleDeclarationType>final</VehicleDeclarationType> - <VehicleTypeApprovalNumber>123456</VehicleTypeApprovalNumber> - <ADAS xsi:type="ADAS_Conventional_Type"> - <EngineStopStart>true</EngineStopStart> - <EcoRollWithoutEngineStop>false</EcoRollWithoutEngineStop> - <EcoRollWithEngineStop>false</EcoRollWithEngineStop> - <PredictiveCruiseControl>none</PredictiveCruiseControl> - <APTEcoRollReleaseLockupClutch>true</APTEcoRollReleaseLockupClutch> - </ADAS> - <Components xsi:type="Components_Conventional_CompletedBusType"> - <AirDrag> - <v2.0:Data id="CabinX23h" xsi:type="v2.0:AirDragDataDeclarationType" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> - <v2.0:Manufacturer>Generic Manufacturer</v2.0:Manufacturer> - <v2.0:Model>Generic Model</v2.0:Model> - <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber> - <v2.0:Date>2017-03-24T15:00:00Z</v2.0:Date> - <v2.0:AppVersion>Vecto AirDrag x.y</v2.0:AppVersion> - <v2.0:CdxA_0>6.31</v2.0:CdxA_0> - <v2.0:TransferredCdxA>6.32</v2.0:TransferredCdxA> - <v2.0:DeclaredCdxA>6.34</v2.0:DeclaredCdxA> - </v2.0:Data> - <v2.0:Signature xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> - <di:Reference URI="#CabinX23h" 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>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue> - </di:Reference> - </v2.0:Signature> - </AirDrag> - <Auxiliaries> - <Data xsi:type="AUX_Conventional_CompletedBusType"> - <ElectricSystem> - <LEDLights> - <Interiorlights>false</Interiorlights> - <Dayrunninglights>true</Dayrunninglights> - <Positionlights>true</Positionlights> - <Brakelights>true</Brakelights> - <Headlights>false</Headlights> - </LEDLights> - </ElectricSystem> - <HVAC> - <SystemConfiguration>4</SystemConfiguration> - <HeatPumpTypeDriverCompartment> - <Cooling>non R-744 3-stage</Cooling> - <Heating>non R-744 3-stage</Heating> - </HeatPumpTypeDriverCompartment> - <HeatPumpTypePassengerCompartment> - <Cooling>non R-744 2-stage</Cooling> - <Heating>non R-744 4-stage</Heating> - </HeatPumpTypePassengerCompartment> - <AuxiliaryHeaterPower>50</AuxiliaryHeaterPower> - <DoubleGlazing>false</DoubleGlazing> - <AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater> - <SeparateAirDistributionDucts>true</SeparateAirDistributionDucts> - </HVAC> - </Data> - </Auxiliaries> - </Components> - </vif0.1:Vehicle> - <ApplicationInformation> - <SimulationToolVersion>0.7.5.2380-DEV</SimulationToolVersion> - <Date>2021-08-24T08:43:41.1851923Z</Date> - </ApplicationInformation> - </Data> - <Signature> - <di:Reference URI="#MST-0adf9390bde54a23a113"> - <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>ExKEVzerQlHGdqCo8XsbBC5PWQ0dKFC0nsiPkW31ZBs=</di:DigestValue> - </di:Reference> - </Signature> - </ManufacturingStep> -</VectoOutputMultistep> \ No newline at end of file diff --git a/Vecto3GUI2020Test/Utils/AssertHelper.cs b/Vecto3GUI2020Test/Utils/AssertHelper.cs new file mode 100644 index 0000000000..b6de924dc3 --- /dev/null +++ b/Vecto3GUI2020Test/Utils/AssertHelper.cs @@ -0,0 +1,22 @@ +using System.IO; +using System.Linq; +using NUnit.Framework; +using TUGraz.VectoCommon.Utils; + +namespace Vecto3GUI2020Test.Utils; + +public static class AssertHelper +{ + public static void FileExists(string fileName) + { + if (!File.Exists(fileName)) { + Assert.Fail($"File {fileName} not found!"); + } + } + + + public static void AssertNoErrorDialogs(this MockDialogHelper md) + { + Assert.AreEqual(0, md.NrErrors, string.Join("\n", md.Dialogs.Select(d => d.Message))); + } +} \ No newline at end of file diff --git a/Vecto3GUI2020Test/Utils/MockDialogHelper.cs b/Vecto3GUI2020Test/Utils/MockDialogHelper.cs new file mode 100644 index 0000000000..4549cd130e --- /dev/null +++ b/Vecto3GUI2020Test/Utils/MockDialogHelper.cs @@ -0,0 +1,135 @@ +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Linq; +using System.Windows; +using Moq; +using VECTO3GUI2020.Helper; + +namespace Vecto3GUI2020Test.Utils; + +public class MockDialogHelper : IDialogHelper +{ + private IDialogHelper _dialogHelperImplementation; + + public class Dialog + { + public enum DialogType + { + Error + } + + public DialogType Type + { + get; + set; + } + public string Message + { + get; + set; + } + } + + + private readonly IList<Dialog> _dialogs = new List<Dialog>(); + public MockDialogHelper() + { + + } + + public IReadOnlyList<Dialog> Dialogs => _dialogs.ToList(); + + public int NrErrors => _dialogs.Count(d => d.Type == Dialog.DialogType.Error); + + #region Implementation of IDialogHelper + + public string OpenFileDialog(string filter = "All files (*.*)|*.*", string initialDirectory = null) + { + throw new System.NotImplementedException(); + } + + public string[] OpenFilesDialog(string filter = "All files (*.*|*.*", string initialDirectory = null) + { + throw new System.NotImplementedException(); + } + + public string OpenXMLFileDialog(string initialDirectory) + { + throw new System.NotImplementedException(); + } + + public string OpenXMLFileDialog() + { + throw new System.NotImplementedException(); + } + + public string[] OpenXMLFilesDialog(string initialDirectory = null) + { + throw new System.NotImplementedException(); + } + + public string OpenFolderDialog(string initialDirectory = null) + { + throw new System.NotImplementedException(); + } + + public string OpenJsonFileDialog(string initialDirectory = null) + { + throw new System.NotImplementedException(); + } + + public string SaveToDialog(string initialDirectory = null, string filter = "All files (*.*|*.*") + { + throw new System.NotImplementedException(); + } + + public string SaveToXMLDialog(string initialDirectory = null) + { + throw new System.NotImplementedException(); + } + + public string SaveToVectoJobDialog(string initialDirectory = null) + { + throw new System.NotImplementedException(); + } + + public string OpenXMLAndVectoFileDialog(string initialDirectory = null) + { + throw new System.NotImplementedException(); + } + + public MessageBoxResult ShowMessageBox(string messageBoxText, string caption, MessageBoxButton button, MessageBoxImage icon) + { + lock (_dialogs) { + _dialogs.Add(new Dialog() { + Message = $"[{caption}] {messageBoxText}", + }); + } + + return MessageBoxResult.OK; + } + + public MessageBoxResult ShowMessageBox(string messageBoxText, string caption) + { + return ShowMessageBox(messageBoxText, caption, MessageBoxButton.OK, MessageBoxImage.Asterisk); + } + + public MessageBoxResult ShowErrorMessage(string errorMessage, string caption) + { + lock (_dialogs) { + _dialogs.Add(new Dialog() { + Message = $"[{caption}] {errorMessage}", + Type = Dialog.DialogType.Error, + }); + } + + return MessageBoxResult.OK; + } + + public MessageBoxResult ShowErrorMessage(string errorMessage) + { + return ShowErrorMessage(errorMessage, "-"); + } + + #endregion +} \ No newline at end of file -- GitLab