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

Skip to content
Snippets Groups Projects
Commit b4d840da authored by Franz KOBER josef's avatar Franz KOBER josef
Browse files

adjusted multistage consolidate class and added additional tests

parent e31b58d2
No related branches found
No related tags found
No related merge requests found
Showing
with 301 additions and 10 deletions
...@@ -681,7 +681,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl ...@@ -681,7 +681,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
var checkAirdragModified = false; var checkAirdragModified = false;
var validAirdragEntries = true; var validAirdragEntries = true;
var stages = _manufacturingStages.Reverse(); var t = _manufacturingStages.ToList();
var stages = _manufacturingStages.Reverse().ToList();
foreach (var manufacturingStage in stages) { foreach (var manufacturingStage in stages) {
if (manufacturingStage.Vehicle?.Components?.AirdragInputData != null && !checkAirdragModified ) { if (manufacturingStage.Vehicle?.Components?.AirdragInputData != null && !checkAirdragModified ) {
checkAirdragModified = true; checkAirdragModified = true;
...@@ -1299,10 +1301,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl ...@@ -1299,10 +1301,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
private IList<Tuple<HeatPumpType, HeatPumpMode>> GetHeatPumpPassengerCompartments() private IList<Tuple<HeatPumpType, HeatPumpMode>> GetHeatPumpPassengerCompartments()
{ {
if (_manufacturingStages?.Any() != true) if (_manufacturingStages?.Any() != true)
return null; return null;
return _manufacturingStages?.First()?.Vehicle?.Components?.BusAuxiliaries?.HVACAux foreach (var entry in _manufacturingStages) {
?.HeatPumpPassengerCompartments; if (entry.Vehicle?.Components?.BusAuxiliaries?.HVACAux?.HeatPumpPassengerCompartments != null)
return entry.Vehicle.Components.BusAuxiliaries.HVACAux.HeatPumpPassengerCompartments;
}
return null;
} }
...@@ -1342,6 +1348,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl ...@@ -1342,6 +1348,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
public override bool IsInputDataComplete(VectoSimulationJobType jobType) public override bool IsInputDataComplete(VectoSimulationJobType jobType)
{ {
return MethodComplete(IsCorrectSystemConfiguration(), nameof(IsCorrectSystemConfiguration)) return MethodComplete(IsCorrectSystemConfiguration(), nameof(IsCorrectSystemConfiguration))
&& InputComplete(HeatPumpTypeDriverCompartment, nameof(HeatPumpTypeDriverCompartment))
&& InputComplete(HeatPumpModeDriverCompartment, nameof(HeatPumpModeDriverCompartment))
&& InputComplete(HeatPumpPassengerCompartments, nameof(HeatPumpPassengerCompartments))
&& InputComplete(AuxHeaterPower, nameof(AuxHeaterPower)) && InputComplete(AuxHeaterPower, nameof(AuxHeaterPower))
&& InputComplete(DoubleGlazing, nameof(DoubleGlazing)) && InputComplete(DoubleGlazing, nameof(DoubleGlazing))
&& InputComplete(AdjustableAuxiliaryHeater, nameof(AdjustableAuxiliaryHeater)) && InputComplete(AdjustableAuxiliaryHeater, nameof(AdjustableAuxiliaryHeater))
......
...@@ -103,9 +103,221 @@ namespace TUGraz.VectoCore.Tests.Integration.Multistage ...@@ -103,9 +103,221 @@ namespace TUGraz.VectoCore.Tests.Integration.Multistage
var validator = new XMLValidator(xmlReader); var validator = new XMLValidator(xmlReader);
Assert.IsTrue(validator.ValidateXML(VectoCore.Utils.XmlDocumentType.MultistageOutputData), validator.ValidationError); Assert.IsTrue(validator.ValidateXML(VectoCore.Utils.XmlDocumentType.MultistageOutputData), validator.ValidationError);
} }
}
#region VIF result file test
[TestCase(VIFInputFile, InputFilePath, 1)]
public void TestVifGeneration(string vifFilename, string inputFilename, int numRuns)
{
//Input files
var inputReader = XmlReader.Create(inputFilename);
var inputDataProvider = xmlInputReader.CreateDeclaration(inputReader);
var vehicle = inputDataProvider.JobInputData.Vehicle;
var vifReader = XmlReader.Create(vifFilename);
var vifDataProvider = xmlInputReader.Create(vifReader) as IMultistageBusInputDataProvider;
var numberOfManufacturingStages = vifDataProvider?.JobInputData.ManufacturingStages?.Count ?? 0;
var writer = new FileOutputVIFWriter(vifResult, numberOfManufacturingStages);
var inputData = new XMLDeclarationVIFInputData(vifDataProvider, vehicle);
var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer);
var jobContainer = new JobContainer(new MockSumWriter());
var runs = factory.SimulationRuns().ToList();
Assert.AreEqual(numRuns, runs.Count);
foreach (var run in runs)
{
jobContainer.AddRun(run);
}
jobContainer.Execute();
jobContainer.WaitFinished();
var progress = jobContainer.GetProgress();
Assert.IsTrue(progress.All(r => r.Value.Success), string.Concat<Exception>(progress.Select(r => r.Value.Error)));
using (var xmlReader = XmlReader.Create(writer.XMLMultistageReportFileName))
{
var validator = new XMLValidator(xmlReader);
Assert.IsTrue(validator.ValidateXML(VectoCore.Utils.XmlDocumentType.MultistageOutputData), validator.ValidationError);
}
TestNewVifData(writer.XMLMultistageReportFileName);
} }
private void TestNewVifData(string filePath)
{
var vifReader = XmlReader.Create(filePath);
var vifDataProvider = xmlInputReader.Create(vifReader) as IMultistageBusInputDataProvider;
Assert.AreEqual(3, vifDataProvider.JobInputData.ManufacturingStages.Count());
TestVifStage2Data(vifDataProvider.JobInputData.ManufacturingStages[0]);
TestVifStage3Data(vifDataProvider.JobInputData.ManufacturingStages[1]);
TestVifStage4Data(vifDataProvider.JobInputData.ManufacturingStages[2]);
}
private void TestVifStage2Data(IManufacturingStageInputData data)
{
Assert.AreEqual(2, data.StageCount);
TestSignatureData(data.HashPreviousStage, "nI+57QQtWA2rFqJTZ41t0XrXcJbcGmc7j4E66iGJyT0=",
"#PIF-d10aff76c5d149948046");
Assert.AreEqual("Intermediate Manufacturer 1", data.Vehicle.Manufacturer);
Assert.AreEqual("Intermediate Manufacturer Address 1", data.Vehicle.ManufacturerAddress);
Assert.AreEqual("VEH-1234567890", data.Vehicle.VIN);
Assert.AreEqual(DateTime.Parse("2018-02-15T11:00:00Z").ToUniversalTime(), data.Vehicle.Date);
Assert.AreEqual(VehicleDeclarationType.interim, data.Vehicle.VehicleDeclarationType);
Assert.AreEqual(null, data.Vehicle.ADAS);
Assert.AreEqual(null, data.Vehicle.Components);
TestApplicationInformation(data.ApplicationInformation, "!!NOT FOR CERTIFICATION!!",
"2021-01-12T07:20:08.0187663Z");
TestSignatureData(data.Signature, "BMpFCKh1bu/YPwYj37kJK1uCrv++BTLf2OUZcOt43Os=",
"#RESULT-6f30c7fe665a47938f6b");
}
private void TestVifStage3Data(IManufacturingStageInputData data)
{
Assert.AreEqual(3, data.StageCount);
TestSignatureData(data.HashPreviousStage, "BMpFCKh1bu/YPwYj37kJK1uCrv++BTLf2OUZcOt43Os=",
"#RESULT-6f30c7fe665a47938f6b");
Assert.AreEqual("Intermediate Manufacturer 2", data.Vehicle.Manufacturer);
Assert.AreEqual("Intermediate Manufacturer Address 2", data.Vehicle.ManufacturerAddress);
Assert.AreEqual("VEH-2234567890", data.Vehicle.VIN);
Assert.AreEqual(DateTime.Parse("2021-02-13T07:20:08.0187663Z").ToUniversalTime(), data.Vehicle.Date);
Assert.AreEqual(VehicleDeclarationType.final, data.Vehicle.VehicleDeclarationType);
Assert.AreEqual(true, data.Vehicle.ADAS.EngineStopStart);
Assert.AreEqual(EcoRollType.WithEngineStop, data.Vehicle.ADAS.EcoRoll);
Assert.AreEqual(PredictiveCruiseControlType.Option_1_2, data.Vehicle.ADAS.PredictiveCruiseControl);
Assert.AreEqual(null, data.Vehicle.ADAS.ATEcoRollReleaseLockupClutch);
var aux = data.Vehicle.Components.BusAuxiliaries;
Assert.AreEqual(true, aux.ElectricConsumers.InteriorLightsLED);
Assert.AreEqual(true, aux.ElectricConsumers.DayrunninglightsLED);
Assert.AreEqual(false, aux.ElectricConsumers.PositionlightsLED);
Assert.AreEqual(false, aux.ElectricConsumers.BrakelightsLED);
Assert.AreEqual(true, aux.ElectricConsumers.HeadlightsLED);
var hvac = data.Vehicle.Components.BusAuxiliaries.HVACAux;
Assert.AreEqual(BusHVACSystemConfiguration.Configuration1, hvac.SystemConfiguration);
Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvac.HeatPumpTypeDriverCompartment);
Assert.AreEqual(HeatPumpMode.heating, hvac.HeatPumpModeDriverCompartment);
Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvac.HeatPumpPassengerCompartments[0].Item1);
Assert.AreEqual(HeatPumpMode.cooling, hvac.HeatPumpPassengerCompartments[0].Item2);
Assert.AreEqual(50.SI<Watt>(), hvac.AuxHeaterPower);
Assert.AreEqual(false, hvac.DoubleGlazing);
Assert.AreEqual(true, hvac.AdjustableAuxiliaryHeater);
Assert.AreEqual(false, hvac.SeparateAirDistributionDucts);
Assert.AreEqual(false, hvac.WaterElectricHeater);
Assert.AreEqual(false, hvac.AirElectricHeater);
Assert.AreEqual(true, hvac.OtherHeatingTechnology);
TestApplicationInformation(data.ApplicationInformation, "!!NOT FOR CERTIFICATION!!!",
"2021-03-13T07:20:08.0187663Z");
TestSignatureData(data.Signature, "GHpFCKh1bu/YPwYj37kJK1uCrv++BTLf2OUZcOt43Os=",
"#RESULT-8f30c7fe665a47938f6b");
}
private void TestVifStage4Data(IManufacturingStageInputData data)
{
Assert.AreEqual(4, data.StageCount);
TestSignatureData(data.HashPreviousStage, "GHpFCKh1bu/YPwYj37kJK1uCrv++BTLf2OUZcOt43Os=",
"#RESULT-8f30c7fe665a47938f6b");
Assert.AreEqual("Some Manufacturer", data.Vehicle.Manufacturer);
Assert.AreEqual("Some Manufacturer Address", data.Vehicle.ManufacturerAddress);
Assert.AreEqual("VEH-1234567890", data.Vehicle.VIN);
Assert.AreEqual(DateTime.Parse("2020-01-09T11:00:00Z").ToUniversalTime(), data.Vehicle.Date);
Assert.AreEqual("Sample Bus Model", data.Vehicle.Model);
Assert.AreEqual(LegislativeClass.M3, data.Vehicle.LegislativeClass);
Assert.AreEqual(500, data.Vehicle.CurbMassChassis.Value());
Assert.AreEqual(3500, data.Vehicle.GrossVehicleMassRating.Value());
Assert.AreEqual(null, data.Vehicle.AirdragModifiedMultistage);
Assert.AreEqual(TankSystem.Compressed, data.Vehicle.TankSystem);
Assert.AreEqual(RegistrationClass.II_III, data.Vehicle.RegisteredClass);
Assert.AreEqual(1, data.Vehicle.NumberPassengerSeatsLowerDeck);
Assert.AreEqual(10, data.Vehicle.NumberPassengersStandingLowerDeck);
Assert.AreEqual(11, data.Vehicle.NumberPassengerSeatsUpperDeck);
Assert.AreEqual(2, data.Vehicle.NumberPassengersStandingUpperDeck);
Assert.AreEqual(VehicleCode.CB, data.Vehicle.VehicleCode);
Assert.AreEqual(false, data.Vehicle.LowEntry);
Assert.AreEqual(2.5.SI<Meter>(), data.Vehicle.Height);//HeightIntegratedBody
Assert.AreEqual(9.5.SI<Meter>(), data.Vehicle.Length);
Assert.AreEqual(2.5.SI<Meter>(), data.Vehicle.Width);
Assert.AreEqual(2.SI<Meter>(), data.Vehicle.EntranceHeight);
Assert.AreEqual(VehicleDeclarationType.interim, data.Vehicle.VehicleDeclarationType);
Assert.AreEqual(true, data.Vehicle.ADAS.EngineStopStart);
Assert.AreEqual(EcoRollType.None, data.Vehicle.ADAS.EcoRoll);
Assert.AreEqual(PredictiveCruiseControlType.None, data.Vehicle.ADAS.PredictiveCruiseControl);
Assert.AreEqual(true, data.Vehicle.ADAS.ATEcoRollReleaseLockupClutch);
var airdrag = data.Vehicle.Components.AirdragInputData as AbstractCommonComponentType;
Assert.NotNull(airdrag);
Assert.AreEqual("Generic Manufacturer", airdrag.Manufacturer);
Assert.AreEqual("Generic Model", airdrag.Model);
Assert.AreEqual("e12*0815/8051*2017/05E0000*00", airdrag.CertificationNumber);
Assert.AreEqual(DateTime.Parse("2017-03-24T15:00:00Z").ToUniversalTime(), airdrag.Date);
Assert.AreEqual("Vecto AirDrag x.y", airdrag.AppVersion);
Assert.AreEqual(6.34.SI<SquareMeter>(), data.Vehicle.Components.AirdragInputData.AirDragArea);
Assert.AreEqual(6.31.SI<SquareMeter>(), data.Vehicle.Components.AirdragInputData.AirDragArea_0);
Assert.AreEqual(6.32.SI<SquareMeter>(), data.Vehicle.Components.AirdragInputData.TransferredAirDragArea);
TestSignatureData(airdrag.DigestValue, "b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=", "#CabinX23h");
var aux = data.Vehicle.Components.BusAuxiliaries;
Assert.AreEqual(false, aux.ElectricConsumers.InteriorLightsLED);
Assert.AreEqual(true, aux.ElectricConsumers.DayrunninglightsLED);
Assert.AreEqual(true, aux.ElectricConsumers.PositionlightsLED);
Assert.AreEqual(true, aux.ElectricConsumers.BrakelightsLED);
Assert.AreEqual(false, aux.ElectricConsumers.HeadlightsLED);
var hvac = data.Vehicle.Components.BusAuxiliaries.HVACAux;
Assert.AreEqual(BusHVACSystemConfiguration.Configuration0, hvac.SystemConfiguration);
Assert.AreEqual(HeatPumpType.none, hvac.HeatPumpTypeDriverCompartment);
Assert.AreEqual(HeatPumpMode.heating, hvac.HeatPumpModeDriverCompartment);
Assert.AreEqual(3, hvac.HeatPumpPassengerCompartments.Count);
Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvac.HeatPumpPassengerCompartments[0].Item1);
Assert.AreEqual(HeatPumpMode.cooling, hvac.HeatPumpPassengerCompartments[0].Item2);
Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvac.HeatPumpPassengerCompartments[1].Item1);
Assert.AreEqual(HeatPumpMode.heating, hvac.HeatPumpPassengerCompartments[1].Item2);
Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvac.HeatPumpPassengerCompartments[2].Item1);
Assert.AreEqual(HeatPumpMode.cooling, hvac.HeatPumpPassengerCompartments[2].Item2);
Assert.AreEqual(50.SI<Watt>(), hvac.AuxHeaterPower);
Assert.AreEqual(false, hvac.DoubleGlazing);
Assert.AreEqual(true, hvac.AdjustableAuxiliaryHeater);
Assert.AreEqual(false, hvac.SeparateAirDistributionDucts);
Assert.AreEqual(true, hvac.WaterElectricHeater);
Assert.AreEqual(false, hvac.AirElectricHeater);
Assert.AreEqual(false, hvac.OtherHeatingTechnology);
}
private void TestSignatureData(DigestData digestData, string digestValue, string reference)
{
Assert.AreEqual(reference, digestData.Reference);
Assert.AreEqual("urn:vecto:xml:2017:canonicalization", digestData.CanonicalizationMethods[0]);
Assert.AreEqual("http://www.w3.org/2001/10/xml-exc-c14n#", digestData.CanonicalizationMethods[1]);
Assert.AreEqual("http://www.w3.org/2001/04/xmlenc#sha256", digestData.DigestMethod);
Assert.AreEqual(digestValue, digestData.DigestValue);
}
private void TestApplicationInformation(IApplicationInformation appInfo, string version, string date)
{
Assert.AreEqual(version, appInfo.SimulationToolVersion);
Assert.AreEqual(DateTime.Parse(date).ToUniversalTime(), appInfo.Date);
}
#endregion
[TestCase()] [TestCase()]
public void TestMultistageSimulationRun() public void TestMultistageSimulationRun()
{ {
...@@ -562,5 +774,12 @@ namespace TUGraz.VectoCore.Tests.Integration.Multistage ...@@ -562,5 +774,12 @@ namespace TUGraz.VectoCore.Tests.Integration.Multistage
#endregion #endregion
} }
} }
...@@ -79,6 +79,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob v:\VectoCore\VectoCor ...@@ -79,6 +79,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob v:\VectoCore\VectoCor
<HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment>
<HeatPumpTypePassengerCompartment>non R-744 3-stage</HeatPumpTypePassengerCompartment> <HeatPumpTypePassengerCompartment>non R-744 3-stage</HeatPumpTypePassengerCompartment>
<HeatPumpModePassengerCompartment>heating</HeatPumpModePassengerCompartment> <HeatPumpModePassengerCompartment>heating</HeatPumpModePassengerCompartment>
<HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment>
<HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment>
<AuxiliaryHeaterPower>50</AuxiliaryHeaterPower> <AuxiliaryHeaterPower>50</AuxiliaryHeaterPower>
<DoubleGlazing>false</DoubleGlazing> <DoubleGlazing>false</DoubleGlazing>
<AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater> <AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater>
......
...@@ -691,6 +691,22 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile ...@@ -691,6 +691,22 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile
</di:Reference> </di:Reference>
</v2.0:Signature> </v2.0:Signature>
</v2.8:AirDrag> </v2.8:AirDrag>
<v2.8:Auxiliaries>
<v2.8:Data xsi:type="v2.8:CompletedVehicleAuxiliaryDataDeclarationType">
<v2.8:HVAC>
<v2.8:SystemConfiguration>1</v2.8:SystemConfiguration>
<v2.8:HeatPumpTypeDriverCompartment>non R-744 2-stage</v2.8:HeatPumpTypeDriverCompartment>
<v2.8:HeatPumpModeDriverCompartment>heating</v2.8:HeatPumpModeDriverCompartment>
<v2.8:HeatPumpTypePassengerCompartment>non R-744 3-stage</v2.8:HeatPumpTypePassengerCompartment>
<v2.8:HeatPumpModePassengerCompartment>heating</v2.8:HeatPumpModePassengerCompartment>
<v2.8:AuxiliaryHeaterPower>50</v2.8:AuxiliaryHeaterPower>
<v2.8:DoubleGlazing>false</v2.8:DoubleGlazing>
<v2.8:AdjustableAuxiliaryHeater>true</v2.8:AdjustableAuxiliaryHeater>
<v2.8:SeparateAirDistributionDucts>false</v2.8:SeparateAirDistributionDucts>
</v2.8:HVAC>
</v2.8:Data>
</v2.8:Auxiliaries>
</v2.8:Components> </v2.8:Components>
</Vehicle> </Vehicle>
<ApplicationInformation> <ApplicationInformation>
...@@ -752,6 +768,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile ...@@ -752,6 +768,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile
<v2.8:HeatPumpModeDriverCompartment>heating</v2.8:HeatPumpModeDriverCompartment> <v2.8:HeatPumpModeDriverCompartment>heating</v2.8:HeatPumpModeDriverCompartment>
<v2.8:HeatPumpTypePassengerCompartment>non R-744 3-stage</v2.8:HeatPumpTypePassengerCompartment> <v2.8:HeatPumpTypePassengerCompartment>non R-744 3-stage</v2.8:HeatPumpTypePassengerCompartment>
<v2.8:HeatPumpModePassengerCompartment>cooling</v2.8:HeatPumpModePassengerCompartment> <v2.8:HeatPumpModePassengerCompartment>cooling</v2.8:HeatPumpModePassengerCompartment>
<v2.8:HeatPumpTypePassengerCompartment>non R-744 2-stage</v2.8:HeatPumpTypePassengerCompartment>
<v2.8:HeatPumpModePassengerCompartment>heating</v2.8:HeatPumpModePassengerCompartment>
<v2.8:AuxiliaryHeaterPower>50</v2.8:AuxiliaryHeaterPower> <v2.8:AuxiliaryHeaterPower>50</v2.8:AuxiliaryHeaterPower>
<v2.8:DoubleGlazing>false</v2.8:DoubleGlazing> <v2.8:DoubleGlazing>false</v2.8:DoubleGlazing>
<v2.8:AdjustableAuxiliaryHeater>true</v2.8:AdjustableAuxiliaryHeater> <v2.8:AdjustableAuxiliaryHeater>true</v2.8:AdjustableAuxiliaryHeater>
......
...@@ -688,7 +688,7 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile ...@@ -688,7 +688,7 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile
</HashPreviousStage> </HashPreviousStage>
<Vehicle xsi:type="v2.8:InterimStageInputType" id="MSTG-2-Vehicle"> <Vehicle xsi:type="v2.8:InterimStageInputType" id="MSTG-2-Vehicle">
<v2.8:Manufacturer>Intermediate Manufacturer 2</v2.8:Manufacturer> <v2.8:Manufacturer>Intermediate Manufacturer 2</v2.8:Manufacturer>
<v2.8:ManufacturerAddress></v2.8:ManufacturerAddress> <v2.8:ManufacturerAddress>Intermediate Manufacturer Address 2</v2.8:ManufacturerAddress>
<v2.8:VIN>VEH-2234567890</v2.8:VIN> <v2.8:VIN>VEH-2234567890</v2.8:VIN>
<v2.8:Date>2021-02-13T07:20:08.0187663Z</v2.8:Date> <v2.8:Date>2021-02-13T07:20:08.0187663Z</v2.8:Date>
<v2.8:VehicleDeclarationType>final</v2.8:VehicleDeclarationType> <v2.8:VehicleDeclarationType>final</v2.8:VehicleDeclarationType>
...@@ -729,8 +729,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile ...@@ -729,8 +729,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile
</v2.8:Components> </v2.8:Components>
</Vehicle> </Vehicle>
<ApplicationInformation> <ApplicationInformation>
<SimulationToolVersion>!!NOT FOR CERTIFICATION!!</SimulationToolVersion> <SimulationToolVersion>!!NOT FOR CERTIFICATION!!!</SimulationToolVersion>
<Date>2021-02-13T07:20:08.0187663Z</Date> <Date>2021-03-13T07:20:08.0187663Z</Date>
</ApplicationInformation> </ApplicationInformation>
</Data> </Data>
<Signature> <Signature>
......
...@@ -110,7 +110,8 @@ namespace TUGraz.VectoCore.Tests.XML ...@@ -110,7 +110,8 @@ namespace TUGraz.VectoCore.Tests.XML
{ {
var reader = XmlReader.Create(_primaryOnlyInputData); var reader = XmlReader.Create(_primaryOnlyInputData);
var inputDataProvider = _xmlInputReader.Create(reader) as IMultistageBusInputDataProvider; var inputDataProvider = _xmlInputReader.Create(reader) as IMultistageBusInputDataProvider;
Assert.AreEqual(null, inputDataProvider.JobInputData.ManufacturingStages);
Assert.AreEqual(null, inputDataProvider.JobInputData.ConsolidateManufacturingStage); Assert.AreEqual(null, inputDataProvider.JobInputData.ConsolidateManufacturingStage);
Assert.AreEqual(false, inputDataProvider.JobInputData.InputComplete); Assert.AreEqual(false, inputDataProvider.JobInputData.InputComplete);
} }
...@@ -151,6 +152,7 @@ namespace TUGraz.VectoCore.Tests.XML ...@@ -151,6 +152,7 @@ namespace TUGraz.VectoCore.Tests.XML
Assert.AreEqual(null, vehicle.ADAS); Assert.AreEqual(null, vehicle.ADAS);
Assert.AreEqual(null, vehicle.Components); Assert.AreEqual(null, vehicle.Components);
} }
[TestCase] [TestCase]
...@@ -199,6 +201,17 @@ namespace TUGraz.VectoCore.Tests.XML ...@@ -199,6 +201,17 @@ namespace TUGraz.VectoCore.Tests.XML
{ {
var reader = XmlReader.Create(_consolidatedInputDataAirdrag); var reader = XmlReader.Create(_consolidatedInputDataAirdrag);
var inputDataProvider = _xmlInputReader.Create(reader) as IMultistageBusInputDataProvider; var inputDataProvider = _xmlInputReader.Create(reader) as IMultistageBusInputDataProvider;
var hvaux = inputDataProvider.JobInputData.ConsolidateManufacturingStage.Vehicle.Components.BusAuxiliaries.HVACAux;
Assert.NotNull(hvaux);
Assert.AreEqual(HeatPumpMode.heating, hvaux.HeatPumpModeDriverCompartment);
Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvaux.HeatPumpTypeDriverCompartment);
Assert.AreEqual(2, hvaux.HeatPumpPassengerCompartments.Count);
Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvaux.HeatPumpPassengerCompartments[0].Item1);
Assert.AreEqual(HeatPumpMode.cooling, hvaux.HeatPumpPassengerCompartments[0].Item2);
Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvaux.HeatPumpPassengerCompartments[1].Item1);
Assert.AreEqual(HeatPumpMode.heating, hvaux.HeatPumpPassengerCompartments[1].Item2);
Assert.AreEqual(true, inputDataProvider.JobInputData.InputComplete); Assert.AreEqual(true, inputDataProvider.JobInputData.InputComplete);
} }
...@@ -207,6 +220,15 @@ namespace TUGraz.VectoCore.Tests.XML ...@@ -207,6 +220,15 @@ namespace TUGraz.VectoCore.Tests.XML
{ {
var reader = XmlReader.Create(_consolidatedInputDataHeatPump); var reader = XmlReader.Create(_consolidatedInputDataHeatPump);
var inputDataProvider = _xmlInputReader.Create(reader) as IMultistageBusInputDataProvider; var inputDataProvider = _xmlInputReader.Create(reader) as IMultistageBusInputDataProvider;
var hvaux = inputDataProvider.JobInputData.ConsolidateManufacturingStage.Vehicle.Components.BusAuxiliaries.HVACAux;
Assert.NotNull(hvaux);
Assert.AreEqual(HeatPumpMode.N_A, hvaux.HeatPumpModeDriverCompartment);
Assert.AreEqual(HeatPumpType.none, hvaux.HeatPumpTypeDriverCompartment);
Assert.AreEqual(1, hvaux.HeatPumpPassengerCompartments.Count);
Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvaux.HeatPumpPassengerCompartments[0].Item1);
Assert.AreEqual(HeatPumpMode.cooling, hvaux.HeatPumpPassengerCompartments[0].Item2);
Assert.AreEqual(true, inputDataProvider.JobInputData.InputComplete); Assert.AreEqual(true, inputDataProvider.JobInputData.InputComplete);
} }
...@@ -215,6 +237,15 @@ namespace TUGraz.VectoCore.Tests.XML ...@@ -215,6 +237,15 @@ namespace TUGraz.VectoCore.Tests.XML
{ {
var reader = XmlReader.Create(_consolidatedInputDataHeatHev); var reader = XmlReader.Create(_consolidatedInputDataHeatHev);
var inputDataProvider = _xmlInputReader.Create(reader) as IMultistageBusInputDataProvider; var inputDataProvider = _xmlInputReader.Create(reader) as IMultistageBusInputDataProvider;
var hvaux = inputDataProvider.JobInputData.ConsolidateManufacturingStage.Vehicle.Components.BusAuxiliaries.HVACAux;
Assert.NotNull(hvaux);
Assert.AreEqual(HeatPumpMode.heating, hvaux.HeatPumpModeDriverCompartment);
Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvaux.HeatPumpTypeDriverCompartment);
Assert.AreEqual(1, hvaux.HeatPumpPassengerCompartments.Count);
Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvaux.HeatPumpPassengerCompartments[0].Item1);
Assert.AreEqual(HeatPumpMode.cooling, hvaux.HeatPumpPassengerCompartments[0].Item2);
Assert.AreEqual(true, inputDataProvider.JobInputData.InputComplete); Assert.AreEqual(true, inputDataProvider.JobInputData.InputComplete);
} }
...@@ -223,6 +254,16 @@ namespace TUGraz.VectoCore.Tests.XML ...@@ -223,6 +254,16 @@ namespace TUGraz.VectoCore.Tests.XML
{ {
var reader = XmlReader.Create(_consolidatedInputDataHeatNgTank); var reader = XmlReader.Create(_consolidatedInputDataHeatNgTank);
var inputDataProvider = _xmlInputReader.Create(reader) as IMultistageBusInputDataProvider; var inputDataProvider = _xmlInputReader.Create(reader) as IMultistageBusInputDataProvider;
var hvaux = inputDataProvider.JobInputData.ConsolidateManufacturingStage.Vehicle.Components.BusAuxiliaries.HVACAux;
Assert.NotNull(hvaux);
Assert.AreEqual(HeatPumpMode.heating, hvaux.HeatPumpModeDriverCompartment);
Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvaux.HeatPumpTypeDriverCompartment);
Assert.AreEqual(1, hvaux.HeatPumpPassengerCompartments.Count);
Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvaux.HeatPumpPassengerCompartments[0].Item1);
Assert.AreEqual(HeatPumpMode.cooling, hvaux.HeatPumpPassengerCompartments[0].Item2);
Assert.AreEqual(true, inputDataProvider.JobInputData.InputComplete); Assert.AreEqual(true, inputDataProvider.JobInputData.InputComplete);
} }
} }
......
...@@ -611,7 +611,7 @@ namespace TUGraz.VectoCore.Tests.XML ...@@ -611,7 +611,7 @@ namespace TUGraz.VectoCore.Tests.XML
{ {
Assert.AreEqual("MSTG-2-Vehicle", vehicleData.Identifier); Assert.AreEqual("MSTG-2-Vehicle", vehicleData.Identifier);
Assert.AreEqual("Intermediate Manufacturer 2", vehicleData.Manufacturer); Assert.AreEqual("Intermediate Manufacturer 2", vehicleData.Manufacturer);
Assert.AreEqual("", vehicleData.ManufacturerAddress); Assert.AreEqual("Intermediate Manufacturer Address 2", vehicleData.ManufacturerAddress);
Assert.AreEqual("VEH-2234567890", vehicleData.VIN); Assert.AreEqual("VEH-2234567890", vehicleData.VIN);
Assert.AreEqual(DateTime.Parse("2021-02-13T07:20:08.0187663Z").ToUniversalTime(), vehicleData.Date); Assert.AreEqual(DateTime.Parse("2021-02-13T07:20:08.0187663Z").ToUniversalTime(), vehicleData.Date);
Assert.AreEqual(null, vehicleData.AirdragModifiedMultistage); Assert.AreEqual(null, vehicleData.AirdragModifiedMultistage);
......
...@@ -112,11 +112,13 @@ namespace TUGraz.VectoCore.Tests.XML ...@@ -112,11 +112,13 @@ namespace TUGraz.VectoCore.Tests.XML
Assert.AreEqual(BusHVACSystemConfiguration.Configuration0, hvacAux.SystemConfiguration); Assert.AreEqual(BusHVACSystemConfiguration.Configuration0, hvacAux.SystemConfiguration);
Assert.AreEqual(HeatPumpType.none, hvacAux.HeatPumpTypeDriverCompartment); Assert.AreEqual(HeatPumpType.none, hvacAux.HeatPumpTypeDriverCompartment);
Assert.AreEqual(HeatPumpMode.heating, hvacAux.HeatPumpModeDriverCompartment); Assert.AreEqual(HeatPumpMode.heating, hvacAux.HeatPumpModeDriverCompartment);
Assert.AreEqual(2, hvacAux.HeatPumpPassengerCompartments.Count); Assert.AreEqual(3, hvacAux.HeatPumpPassengerCompartments.Count);
Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpPassengerCompartments[0].Item1); Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpPassengerCompartments[0].Item1);
Assert.AreEqual(HeatPumpMode.cooling, hvacAux.HeatPumpPassengerCompartments[0].Item2); Assert.AreEqual(HeatPumpMode.cooling, hvacAux.HeatPumpPassengerCompartments[0].Item2);
Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvacAux.HeatPumpPassengerCompartments[1].Item1); Assert.AreEqual(HeatPumpType.non_R_744_3_stage, hvacAux.HeatPumpPassengerCompartments[1].Item1);
Assert.AreEqual(HeatPumpMode.heating, hvacAux.HeatPumpPassengerCompartments[1].Item2); Assert.AreEqual(HeatPumpMode.heating, hvacAux.HeatPumpPassengerCompartments[1].Item2);
Assert.AreEqual(HeatPumpType.non_R_744_2_stage, hvacAux.HeatPumpPassengerCompartments[2].Item1);
Assert.AreEqual(HeatPumpMode.cooling, hvacAux.HeatPumpPassengerCompartments[2].Item2);
Assert.AreEqual(50, hvacAux.AuxHeaterPower.Value()); Assert.AreEqual(50, hvacAux.AuxHeaterPower.Value());
Assert.AreEqual(false, hvacAux.DoubleGlazing); Assert.AreEqual(false, hvacAux.DoubleGlazing);
Assert.AreEqual(true, hvacAux.AdjustableAuxiliaryHeater); Assert.AreEqual(true, hvacAux.AdjustableAuxiliaryHeater);
......
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