From 71982738984ff1ee180791b0e88bc95087d1ecca Mon Sep 17 00:00:00 2001 From: "VKMTHD\\franzjosefkober" <franz.josef.kober@ivt.tugraz.at> Date: Wed, 24 Mar 2021 16:01:09 +0100 Subject: [PATCH] replaced state of completion with declaration type enum in xml reader and in related tests --- VECTO/Input Files/Engine.vb | 2 +- VECTO/Input Files/Gearbox.vb | 2 +- VECTO/Input Files/MockVehicleInputData.vb | 2 +- VECTO/Input Files/Vehicle.vb | 2 +- .../InputData/DeclarationInputData.cs | 27 ++++++++----------- .../Resources/XMLNames.Designer.cs | 18 ++++++------- .../VectoCommon/Resources/XMLNames.resx | 6 ++--- .../FileIO/JSON/JSONComponentInputData.cs | 4 +-- .../InputData/FileIO/JSON/JSONVehicleData.cs | 2 +- .../XMLDeclarationVehicleDataProvider.cs | 16 ++++++----- .../XMLEngineeringVehicleDataProvider.cs | 2 +- .../Utils/MockDeclarationVehicleInputData.cs | 4 +-- .../XML/XMLMultistageBusDataTest.cs | 6 ++--- .../XML/XMLMultistageBusInputDataTest.cs | 5 ++-- 14 files changed, 47 insertions(+), 51 deletions(-) diff --git a/VECTO/Input Files/Engine.vb b/VECTO/Input Files/Engine.vb index a2b99c34a4..7ef5bced6c 100644 --- a/VECTO/Input Files/Engine.vb +++ b/VECTO/Input Files/Engine.vb @@ -666,7 +666,7 @@ Public Class DummyVehicle Public ReadOnly Property Width As Meter Implements IVehicleDeclarationInputData.Width Public ReadOnly Property EntranceHeight As Meter Implements IVehicleDeclarationInputData.EntranceHeight Public ReadOnly Property DoorDriveTechnology As ConsumerTechnology? Implements IVehicleDeclarationInputData.DoorDriveTechnology - Public ReadOnly Property StateOfCompletion As StateOfCompletion Implements IVehicleDeclarationInputData.StateOfCompletion + Public ReadOnly Property DeclarationType As DeclarationType Implements IVehicleDeclarationInputData.DeclarationType Public ReadOnly Property Components As IVehicleComponentsDeclaration Implements IVehicleDeclarationInputData.Components Get diff --git a/VECTO/Input Files/Gearbox.vb b/VECTO/Input Files/Gearbox.vb index 740e696585..4d654e65b6 100644 --- a/VECTO/Input Files/Gearbox.vb +++ b/VECTO/Input Files/Gearbox.vb @@ -852,7 +852,7 @@ Public Class MockEngineeringVehicle Public ReadOnly Property Width As Meter Implements IVehicleDeclarationInputData.Width Public ReadOnly Property EntranceHeight As Meter Implements IVehicleDeclarationInputData.EntranceHeight Public ReadOnly Property DoorDriveTechnology As ConsumerTechnology? Implements IVehicleDeclarationInputData.DoorDriveTechnology - Public ReadOnly Property StateOfCompletion As StateOfCompletion Implements IVehicleDeclarationInputData.StateOfCompletion + Public ReadOnly Property DeclarationType As DeclarationType Implements IVehicleDeclarationInputData.DeclarationType Public Property Components As IVehicleComponentsDeclaration Implements IVehicleDeclarationInputData.Components Public ReadOnly Property XMLSource As XmlNode Implements IVehicleDeclarationInputData.XMLSource diff --git a/VECTO/Input Files/MockVehicleInputData.vb b/VECTO/Input Files/MockVehicleInputData.vb index bde52e8f10..16f06e388e 100644 --- a/VECTO/Input Files/MockVehicleInputData.vb +++ b/VECTO/Input Files/MockVehicleInputData.vb @@ -52,7 +52,7 @@ Public Class MockVehicleInputData Public ReadOnly Property Width As Meter Implements IVehicleDeclarationInputData.Width Public ReadOnly Property EntranceHeight As Meter Implements IVehicleDeclarationInputData.EntranceHeight Public ReadOnly Property DoorDriveTechnology As ConsumerTechnology? Implements IVehicleDeclarationInputData.DoorDriveTechnology - Public ReadOnly Property StateOfCompletion As StateOfCompletion Implements IVehicleDeclarationInputData.StateOfCompletion + Public ReadOnly Property DeclarationType As DeclarationType Implements IVehicleDeclarationInputData.DeclarationType Public Property Components As IVehicleComponentsDeclaration Implements IVehicleDeclarationInputData.Components Public ReadOnly Property XMLSource As XmlNode Implements IVehicleDeclarationInputData.XMLSource End Class \ No newline at end of file diff --git a/VECTO/Input Files/Vehicle.vb b/VECTO/Input Files/Vehicle.vb index 9c47a3f07e..fdaae09a92 100644 --- a/VECTO/Input Files/Vehicle.vb +++ b/VECTO/Input Files/Vehicle.vb @@ -441,7 +441,7 @@ Public Class Vehicle Public ReadOnly Property Width As Meter Implements IVehicleDeclarationInputData.Width Public ReadOnly Property EntranceHeight As Meter Implements IVehicleDeclarationInputData.EntranceHeight Public ReadOnly Property DoorDriveTechnology As ConsumerTechnology? Implements IVehicleDeclarationInputData.DoorDriveTechnology - Public ReadOnly Property StateOfCompletion As StateOfCompletion Implements IVehicleDeclarationInputData.StateOfCompletion + Public ReadOnly Property DeclarationType As DeclarationType Implements IVehicleDeclarationInputData.DeclarationType Public ReadOnly Property IVehicleEngineeringInputData_Components As IVehicleComponentsEngineering Implements IVehicleEngineeringInputData.Components Get diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs index 354b0a60cc..2a5209d149 100644 --- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs +++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs @@ -190,7 +190,7 @@ namespace TUGraz.VectoCommon.InputData ConsumerTechnology? DoorDriveTechnology { get; } - StateOfCompletion StateOfCompletion { get; } + DeclarationType DeclarationType { get; } // components @@ -940,30 +940,25 @@ namespace TUGraz.VectoCommon.InputData } - public enum StateOfCompletion + public enum DeclarationType { - incomplete, - complete, - completed + interim, + final } - - public static class StateOfCompletionHelper + public static class DeclarationTypeHelper { - public static StateOfCompletion Parse(string parse) + public static DeclarationType Parse(string parse) { - switch (parse) + switch (parse) { - case nameof(StateOfCompletion.incomplete): - return StateOfCompletion.incomplete; - case nameof(StateOfCompletion.complete): - return StateOfCompletion.complete; - case nameof(StateOfCompletion.completed): - return StateOfCompletion.completed; + case nameof(DeclarationType.interim): + return DeclarationType.interim; + case nameof(DeclarationType.final): + return DeclarationType.final; default: throw new ArgumentOutOfRangeException(); } } } - } diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs index 8735263288..a1c7ab7cb9 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs +++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs @@ -528,6 +528,15 @@ namespace TUGraz.VectoCommon.Resources { } } + /// <summary> + /// Looks up a localized string similar to DeclarationType. + /// </summary> + public static string Bus_DeclarationType { + get { + return ResourceManager.GetString("Bus_DeclarationType", resourceCulture); + } + } + /// <summary> /// Looks up a localized string similar to DoubleGlazing. /// </summary> @@ -780,15 +789,6 @@ namespace TUGraz.VectoCommon.Resources { } } - /// <summary> - /// Looks up a localized string similar to StateOfCompletion. - /// </summary> - public static string Bus_StateOfCompletion { - get { - return ResourceManager.GetString("Bus_StateOfCompletion", resourceCulture); - } - } - /// <summary> /// Looks up a localized string similar to Status. /// </summary> diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx index d86198efe3..a967d2e637 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.resx +++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx @@ -1395,9 +1395,6 @@ <data name="Bus_NumberPassengersUpperDeck" xml:space="preserve"> <value>NumberPassengersUpperDeck</value> </data> - <data name="Bus_StateOfCompletion" xml:space="preserve"> - <value>StateOfCompletion</value> - </data> <data name="Bus_AirElectricHeater" xml:space="preserve"> <value>AirElectricHeater</value> </data> @@ -1431,4 +1428,7 @@ <data name="ManufacturingStage_StageCount" xml:space="preserve"> <value>stageCount</value> </data> + <data name="Bus_DeclarationType" xml:space="preserve"> + <value>DeclarationType</value> + </data> </root> \ No newline at end of file diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs index f2510f89fb..1ee0e73302 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs @@ -340,8 +340,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON get { return VehicleData.DoorDriveTechnology; } } - public StateOfCompletion StateOfCompletion { get; } - + public DeclarationType DeclarationType { get; } + IVehicleComponentsEngineering IVehicleEngineeringInputData.Components { get { return this; } diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs index a38f5a5ab9..f7449ff948 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs @@ -320,8 +320,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public virtual Meter EntranceHeight { get { return null; } } public virtual ConsumerTechnology? DoorDriveTechnology { get { return ConsumerTechnology.Unknown; } } + public virtual DeclarationType DeclarationType { get; } - public virtual StateOfCompletion StateOfCompletion { get; } IVehicleComponentsEngineering IVehicleEngineeringInputData.Components { diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs index 612adc0efc..b731e1d9a3 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs @@ -329,8 +329,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider } public virtual ConsumerTechnology? DoorDriveTechnology { get { return ConsumerTechnology.Unknown; } } - - public virtual StateOfCompletion StateOfCompletion { get; } + public virtual DeclarationType DeclarationType { get; } + public virtual IVehicleComponentsDeclaration Components { @@ -1038,7 +1038,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider get { return ConsumerTechnology.Unknown; } } - public StateOfCompletion StateOfCompletion { get; } + public virtual DeclarationType DeclarationType { get; } public IVehicleComponentsDeclaration Components @@ -1299,6 +1299,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider } } + public override DeclarationType DeclarationType + { + get { return DeclarationTypeHelper.Parse(GetString(XMLNames.Bus_DeclarationType)); } + } + public override XmlElement ADASNode { @@ -1346,10 +1351,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider get { return null; } } - public override StateOfCompletion StateOfCompletion - { - get { return StateOfCompletionHelper.Parse(GetString(XMLNames.Bus_StateOfCompletion)); } - } + #region Overrides of AbstractXMLResource diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs index d42c747e5e..bb40f7e0cb 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs @@ -181,7 +181,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider public virtual Meter Width { get { return null; } } public virtual Meter EntranceHeight { get { return null; } } public ConsumerTechnology? DoorDriveTechnology { get { return ConsumerTechnology.Unknown; } } - public virtual StateOfCompletion StateOfCompletion { get; } + public virtual DeclarationType DeclarationType { get; } IVehicleComponentsDeclaration IVehicleDeclarationInputData.Components { diff --git a/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs b/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs index f4f9cd1f92..3c6c316592 100644 --- a/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs +++ b/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs @@ -58,7 +58,7 @@ namespace TUGraz.VectoCore.Tests.Utils { public Meter Width { get; set; } public Meter EntranceHeight { get; } public ConsumerTechnology? DoorDriveTechnology { get; } - public StateOfCompletion StateOfCompletion { get; } + public DeclarationType DeclarationType { get; } public IVehicleComponentsDeclaration Components { get { return this; } } public XmlNode XMLSource { get; } @@ -113,7 +113,7 @@ namespace TUGraz.VectoCore.Tests.Utils { public Meter Width { get; set; } public Meter EntranceHeight { get; } public ConsumerTechnology? DoorDriveTechnology { get; } - public StateOfCompletion StateOfCompletion { get; } + public DeclarationType DeclarationType { get; } public Watt MaxNetPower2 { get; } public RegistrationClass? RegisteredClass { get; set; } public int? NumberOfPassengersUpperDeck { get; set; } diff --git a/VectoCore/VectoCoreTest/XML/XMLMultistageBusDataTest.cs b/VectoCore/VectoCoreTest/XML/XMLMultistageBusDataTest.cs index 330569e5b7..1977b6b814 100644 --- a/VectoCore/VectoCoreTest/XML/XMLMultistageBusDataTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLMultistageBusDataTest.cs @@ -561,7 +561,7 @@ namespace TUGraz.VectoCore.Tests.XML Assert.AreEqual("Intermediate Manufacturer Address 1", vehicleData.ManufacturerAddress); Assert.AreEqual("VEH-1234567890", vehicleData.VIN); Assert.AreEqual(DateTime.Parse("2018-02-15T11:00:00Z").ToUniversalTime(), vehicleData.Date); - Assert.AreEqual(StateOfCompletion.incomplete, vehicleData.StateOfCompletion); + Assert.AreEqual(DeclarationType.interim, vehicleData.DeclarationType); TestEmptyInterimStageInputFields(vehicleData); } @@ -611,7 +611,7 @@ namespace TUGraz.VectoCore.Tests.XML Assert.AreEqual("VEH-2234567890", vehicleData.VIN); Assert.AreEqual(DateTime.Parse("2021-02-13T07:20:08.0187663Z").ToUniversalTime(), vehicleData.Date); Assert.AreEqual(false, vehicleData.AirdragModifiedMultistage); - Assert.AreEqual(StateOfCompletion.complete, vehicleData.StateOfCompletion); + Assert.AreEqual(DeclarationType.final, vehicleData.DeclarationType); Assert.AreEqual(true, vehicleData.ADAS.EngineStopStart); Assert.AreEqual(EcoRollType.WithEngineStop, vehicleData.ADAS.EcoRoll); @@ -712,7 +712,7 @@ namespace TUGraz.VectoCore.Tests.XML Assert.AreEqual(2000.SI<Meter>(), vehicleData.Width); Assert.AreEqual(2050.SI<Meter>(), vehicleData.EntranceHeight); Assert.AreEqual(ConsumerTechnology.Pneumatically, vehicleData.DoorDriveTechnology); - Assert.AreEqual(StateOfCompletion.incomplete, vehicleData.StateOfCompletion); + Assert.AreEqual(DeclarationType.final, vehicleData.DeclarationType); Assert.AreEqual(false, vehicleData.ADAS.EngineStopStart); Assert.AreEqual(EcoRollType.WithoutEngineStop, vehicleData.ADAS.EcoRoll); diff --git a/VectoCore/VectoCoreTest/XML/XMLMultistageBusInputDataTest.cs b/VectoCore/VectoCoreTest/XML/XMLMultistageBusInputDataTest.cs index ef53b49fc6..76f1a3e5a3 100644 --- a/VectoCore/VectoCoreTest/XML/XMLMultistageBusInputDataTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLMultistageBusInputDataTest.cs @@ -59,7 +59,7 @@ namespace TUGraz.VectoCore.Tests.XML Assert.AreEqual(2500, vehicle.Width.Value()); Assert.AreEqual(2000, vehicle.EntranceHeight.Value()); Assert.AreEqual(ConsumerTechnology.Electrically, vehicle.DoorDriveTechnology); - Assert.AreEqual(StateOfCompletion.incomplete, vehicle.StateOfCompletion); + Assert.AreEqual(DeclarationType.interim, vehicle.DeclarationType); TestADASInput(vehicle); TestComponents(vehicle.Components); @@ -157,7 +157,6 @@ namespace TUGraz.VectoCore.Tests.XML Assert.AreEqual("Some Manufacturer Address 3", vehicle.ManufacturerAddress); Assert.AreEqual("VEH-1234567891", vehicle.VIN); Assert.AreEqual(DateTime.Parse("2021-01-09T11:00:00Z").ToUniversalTime(), vehicle.Date); - Assert.AreEqual(StateOfCompletion.incomplete, vehicle.StateOfCompletion); Assert.AreEqual(null, vehicle.Model); Assert.AreEqual(null, vehicle.LegislativeClass); @@ -185,7 +184,7 @@ namespace TUGraz.VectoCore.Tests.XML Assert.AreEqual("Some Manufacturer Address 4", vehicle.ManufacturerAddress); Assert.AreEqual("VEH-1234567894", vehicle.VIN); Assert.AreEqual(DateTime.Parse("2022-01-09T11:00:00Z").ToUniversalTime(), vehicle.Date); - Assert.AreEqual(StateOfCompletion.incomplete, vehicle.StateOfCompletion); + Assert.AreEqual(DeclarationType.interim, vehicle.DeclarationType); Assert.AreEqual(null, vehicle.Model); Assert.AreEqual(null, vehicle.LegislativeClass); -- GitLab