diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs index 8578c5d90dd69b938a0ebaf342c1b9f4d404e3b8..a0dbd66c1371164b3a23e9379a8635bbb44881be 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs +++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs @@ -3355,20 +3355,20 @@ namespace TUGraz.VectoCommon.Resources { } /// <summary> - /// Looks up a localized string similar to ManufacturerAddressCompletedVehicle. + /// Looks up a localized string similar to ManufacturerAddress. /// </summary> - public static string ManufacturerAddressCompletedVehicle { + public static string ManufacturerAddress { get { - return ResourceManager.GetString("ManufacturerAddressCompletedVehicle", resourceCulture); + return ResourceManager.GetString("ManufacturerAddress", resourceCulture); } } /// <summary> - /// Looks up a localized string similar to ManufacturerAddressPrimaryVehicle. + /// Looks up a localized string similar to ManufacturerAddressCompletedVehicle. /// </summary> - public static string ManufacturerAddressPrimaryVehicle { + public static string ManufacturerAddressCompletedVehicle { get { - return ResourceManager.GetString("ManufacturerAddressPrimaryVehicle", resourceCulture); + return ResourceManager.GetString("ManufacturerAddressCompletedVehicle", resourceCulture); } } diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx index a16d4be705e62d27e352f300afd963cda0b2d6f3..c58fbaab6c4cfd63b5dd4c1430696ee9bb4fac2c 100644 --- a/VectoCommon/VectoCommon/Resources/XMLNames.resx +++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx @@ -1149,8 +1149,8 @@ <data name="Engine_WHRCorrectionFactors_Electrical" xml:space="preserve"> <value>Electrical</value> </data> - <data name="ManufacturerAddressPrimaryVehicle" xml:space="preserve"> - <value>ManufacturerAddressPrimaryVehicle</value> + <data name="ManufacturerAddress" xml:space="preserve"> + <value>ManufacturerAddress</value> </data> <data name="Engine_WHRCorrectionFactors_Mechanical" xml:space="preserve"> <value>Mechanical</value> diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationJobInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationJobInputDataProvider.cs index 10edeb2ae6772304ee2e7201bd8ed89e3bf898e4..66f3b410c9a7eda6bd0c644a721fa75463ab597e 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationJobInputDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationJobInputDataProvider.cs @@ -144,7 +144,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_MULTISTAGE_BUS_VEHICLE_NAMESPACE_VO1; - public new const string XSD_TYPE = "VehicleExemptedPrimaryBusType"; + public new const string XSD_TYPE = "Exempted_VehicleVIFType"; public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs index a0a439904b7984e69b42c106c4cff796a460f1d7..4d131e90407de87571f1a361b33d6f94d0f3fef4 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs @@ -485,9 +485,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider #region Overrides of AbstractCommonComponentType - public override string Manufacturer => GetString(XMLNames.ManufacturerPrimaryVehicle); - - public string ManufacturerAddress => GetString(XMLNames.ManufacturerAddressPrimaryVehicle); + + public virtual string ManufacturerAddress => GetString(XMLNames.ManufacturerAddress); #endregion @@ -639,7 +638,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_MULTISTAGE_BUS_VEHICLE_NAMESPACE_VO1; - public new const string XSD_TYPE = "VehicleExemptedPrimaryBusType"; + public new const string XSD_TYPE = "Exempted_VehicleVIFType"; public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs index c68a007daf4cb5e42624db85267cb3cf850c2184..27e4b0396159cb840dff9fe707aae7bb3a378ae0 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs @@ -607,7 +607,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl } } - public AxleConfiguration AxleConfiguration { get; } + public AxleConfiguration AxleConfiguration => _primaryVehicle.Vehicle.AxleConfiguration; public IList<ITorqueLimitInputData> TorqueLimits { get; } public PerSecond EngineIdleSpeed { get; } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs index 71682ad5986a59a61fa2560f6dea64a47e6f4b6e..041fafa2d174f358dc041bb6bd72f52f0ecff379 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs @@ -177,7 +177,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl { public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_MULTISTAGE_BUS_VEHICLE_NAMESPACE_VO1; - public new const string XSD_TYPE = "VehicleExemptedPrimaryBusType"; + public new const string XSD_TYPE = "Exempted_VehicleVIFType"; public new static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE); diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedMultistageBusVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedMultistageBusVectoRunDataFactory.cs index cf14ca188adeb53348a7e11c947ca8474c8f3c3b..df67542c6f55f8b2de63172dee0ad5f73db3498f 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedMultistageBusVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedMultistageBusVectoRunDataFactory.cs @@ -92,7 +92,8 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl Report = Report, Mission = new Mission() { MissionType = MissionType.ExemptedMission - } + }, + InputData = InputDataProvider }; } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/VehicleWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/VehicleWriter.cs index 8fc401f1e7748a355a063fa540e0eb013532fc8c..4cd25b9e3fa442d63fa44bb4596e80b35dc9812d 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/VehicleWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CIFWriter/VehicleWriter.cs @@ -365,7 +365,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation public override XElement GetElement(IDeclarationInputDataProvider inputData) { - throw new NotImplementedException(); + return new XElement(_cif + XMLNames.Component_Vehicle, + _cifFactory.GetCompletedBusVehicleTypeGroup().GetElements(inputData) + ); } #endregion diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/MRFNinjectModule.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/MRFNinjectModule.cs index 607876cc79c8007734e7bfeeffdd92c302910597..5c0d7081eca3c1aee755506ba15f1a8e2e5d6b36 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/MRFNinjectModule.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/MRFNinjectModule.cs @@ -383,6 +383,30 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport. false, false))); + Bind<IXMLManufacturerReport>().To<HEV_CompletedBusManufacturerReport>().Named(nameCombinationMethod.Invoke( + ToParams(VehicleCategoryHelper.CompletedBus, + VectoSimulationJobType.ParallelHybridVehicle, + ArchitectureID.UNKNOWN, + false, + false, + false))); + + Bind<IXMLManufacturerReport>().To<HEV_CompletedBusManufacturerReport>().Named(nameCombinationMethod.Invoke( + ToParams(VehicleCategoryHelper.CompletedBus, + VectoSimulationJobType.SerialHybridVehicle, + ArchitectureID.UNKNOWN, + false, + false, + false))); + + Bind<IXMLManufacturerReport>().To<PEV_CompletedBusManufacturerReport>().Named(nameCombinationMethod.Invoke( + ToParams(VehicleCategoryHelper.CompletedBus, + VectoSimulationJobType.BatteryElectricVehicle, + ArchitectureID.UNKNOWN, + false, + false, + false))); + Bind<IXMLManufacturerReport>().To<Exempted_CompletedBusManufacturerReport>().Named(nameCombinationMethod.Invoke( ToParams(VehicleCategoryHelper.CompletedBus, VectoSimulationJobType.ConventionalVehicle, diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReport/CompletedBusManufacturerReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReport/CompletedBusManufacturerReport.cs index 843ba75493918591107ee271fc17ad112473ad44..e1407573d1d3800098004bff66ee49d763fbde21 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReport/CompletedBusManufacturerReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReport/CompletedBusManufacturerReport.cs @@ -88,7 +88,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport. public override void InitializeVehicleData(IDeclarationInputDataProvider inputData) { - throw new NotImplementedException(); + Vehicle = _mRFReportFactory.GetExempted_CompletedBusVehicleType().GetElement(inputData); + GenerateReport(OutputDataType); } #endregion diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportGroupWriter/CompletedBus/CompletedBus.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportGroupWriter/CompletedBus/CompletedBus.cs index ab2555e5f16f14b60111801352f6671b6df7c8a8..a3fa397336dd95840bf4b6ff1a81a7298c8cb9a2 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportGroupWriter/CompletedBus/CompletedBus.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportGroupWriter/CompletedBus/CompletedBus.cs @@ -13,7 +13,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport. { internal class CompletedBusGeneralVehicleOutputGroup : AbstractReportOutputGroup { - private XElement GetManufacturerAndAddress(string manufacturer, string address, int stepCount) + protected XElement GetManufacturerAndAddress(string manufacturer, string address, int stepCount) { return new XElement(_mrf + "Step", new XAttribute("Count", stepCount), @@ -41,18 +41,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport. manufacturingStageInputData.Vehicle.ManufacturerAddress, stepCount: manufacturingStageInputData.StepCount)); } - //result.AddRange(_mrfFactory.GetGeneralVehicleOutputGroup().GetElements(multiStageInputData.JobInputData.ConsolidateManufacturingStage.Vehicle)); - result.AddRange(new List<XElement>() { - new XElement(_mrf + XMLNames.Component_Model, consolidatedVehicleData.Model), - new XElement(_mrf + XMLNames.Vehicle_VIN, consolidatedVehicleData.VIN), - consolidatedVehicleData.VehicleTypeApprovalNumber != null ? new XElement(_mrf + XMLNames.Vehicle_TypeApprovalNumber, consolidatedVehicleData.VehicleTypeApprovalNumber) : null, - new XElement(_mrf + XMLNames.Vehicle_VehicleCategory, consolidatedVehicleData.LegislativeClass.ToXMLFormat()), - new XElement(_mrf + XMLNames.Vehicle_AxleConfiguration, primaryVehicleData.AxleConfiguration.ToXMLFormat()), - new XElement(_mrf + XMLNames.TPMLM, consolidatedVehicleData.GrossVehicleMassRating.ToXMLFormat(0)), - new XElement(_mrf + XMLNames.Report_Vehicle_VehicleGroup, consolidatedVehicleData.VehicleCategory.ToXMLFormat()), - }); - - result.AddRange(_mrfFactory.GetCompletedBusSequenceGroup().GetElements(consolidatedVehicleData)); + result.AddRange(_mrfFactory.GetGeneralVehicleOutputGroup().GetElements(multiStageInputData.JobInputData.ConsolidateManufacturingStage.Vehicle)); + result.AddRange(_mrfFactory.GetCompletedBusSequenceGroup().GetElements(consolidatedVehicleData)); result.AddRange(_mrfFactory.GetCompletedBusDimensionSequenceGroup().GetElements(consolidatedVehicleData)); result.Add(new XElement(_mrf + XMLNames.Bus_DoorDriveTechnology, consolidatedVehicleData.DoorDriveTechnology.ToXMLFormat())); result.Add(new XElement(_mrf + XMLNames.Vehicle_NgTankSystem, consolidatedVehicleData.TankSystem)); diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/MRFVehicleWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/MRFVehicleWriter.cs index a46c1b4d47adffdcb5e2bcb51b3a0f4ada503dc5..f9a6540d999b574bafcf6cf3d812e4f2b3bc7015 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/MRFVehicleWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/MRFVehicleWriter.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Linq; using System.Xml.Linq; using TUGraz.VectoCommon.InputData; @@ -464,11 +465,34 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport. { throw new ArgumentException($"inputdata must implement {nameof(IMultistageBusInputDataProvider)}"); } - return new XElement(_mrf + XMLNames.Component_Vehicle, - _mrfFactory.GetCompletedBusGeneralVehicleOutputGroup().GetElements(inputData) - ); + var primaryVehicleData = multistageInputdata.JobInputData.PrimaryVehicle.Vehicle; + var consolidatedVehicleData = multistageInputdata.JobInputData.ConsolidateManufacturingStage.Vehicle; + var result = new XElement(_mrf + XMLNames.Component_Vehicle); + var manufacturers = new XElement(_mrf + "Manufacturers"); + result.Add(manufacturers); + manufacturers.Add(GetManufacturerAndAddress(primaryVehicleData.Manufacturer, primaryVehicleData.ManufacturerAddress, 1)); + foreach (var manufacturingStageInputData in multistageInputdata.JobInputData.ManufacturingStages) { + manufacturers.Add(GetManufacturerAndAddress(manufacturingStageInputData.Vehicle.Manufacturer, + manufacturingStageInputData.Vehicle.ManufacturerAddress, + stepCount: manufacturingStageInputData.StepCount)); + } + result.Add(_mrfFactory.GetGeneralVehicleOutputGroup().GetElements(multistageInputdata.JobInputData.ConsolidateManufacturingStage.Vehicle)); + result.Add(_mrfFactory.GetCompletedBusSequenceGroup().GetElements(consolidatedVehicleData)); + return result; + + //return new XElement(_mrf + XMLNames.Component_Vehicle, + // _mrfFactory.GetCompletedBusGeneralVehicleOutputGroup().GetElements(inputData) + //); } #endregion + + protected XElement GetManufacturerAndAddress(string manufacturer, string address, int stepCount) + { + return new XElement(_mrf + "Step", + new XAttribute("Count", stepCount), + new XElement(_mrf + XMLNames.Component_Manufacturer, manufacturer), + new XElement(_mrf + XMLNames.Component_ManufacturerAddress, address)); + } } } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/IVIFReportFactory.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/IVIFReportFactory.cs index 05ef87e5410717457ef9ca233ec2c0066f09d7bb..e846a1122dc55b5acd4ca3fd7eadc3d577ae58c6 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/IVIFReportFactory.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/IVIFReportFactory.cs @@ -96,6 +96,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF IReportOutputGroup GetPevIEPCVehicleParmeterGroup(); IReportOutputGroup GetHevPxVehicleParameterGroup(); + IReportOutputGroup GetExemptedVehicleParameterGroup(); + #endregion } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs index 93847c2dd64b1d1f72851e773e7581f5c2ed45ce..6ba955997db92d0e802cf64babd38e48de56f129 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs @@ -145,6 +145,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF Bind<IXmlTypeWriter>().To<PevIEPCVehicleType>().When(AccessedViaVIFFactory) .NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetPevIEPCVehicleType()); + Bind<IXmlTypeWriter>().To<ExemptedVehicleType>().When(AccessedViaVIFFactory) + .NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetExemptedVehicleType()); + #endregion @@ -217,8 +220,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF Bind<IReportOutputGroup>().To<HevPxVehicleParameterGroup>().When(AccessedViaVIFFactory) .NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetHevPxVehicleParameterGroup()); + Bind<IReportOutputGroup>().To<ExemptedVehicleParameterGroup>().When(AccessedViaVIFFactory) + .NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetExemptedVehicleParameterGroup()); + #endregion - + #region Components diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VehicleParameterGroup.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VehicleParameterGroup.cs index 74e32ed277e4cbd44279c39246a60c4198115571..50e17b93cde088fa13f76c63fba670a5f51b93f8 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VehicleParameterGroup.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VehicleParameterGroup.cs @@ -5,6 +5,7 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1 { @@ -21,11 +22,11 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF var result = new List<XElement> { + new XElement(_vif + XMLNames.Component_Manufacturer, vehicle.Manufacturer), new XElement(_vif + XMLNames.Component_ManufacturerAddress, vehicle.ManufacturerAddress), new XElement(_vif + XMLNames.Component_Model, vehicle.Model), new XElement(_vif + XMLNames.Vehicle_VIN, vehicle.VIN), new XElement(_vif + XMLNames.Component_Date, XmlConvert.ToString(vehicle.Date, XmlDateTimeSerializationMode.Utc)), - new XElement(_vif + XMLNames.Component_Manufacturer, vehicle.Manufacturer) }; return result; @@ -114,29 +115,20 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF { var vehicle = inputData.JobInputData.Vehicle; - var result = new List<XElement> { - new XElement(_vif + XMLNames.ManufacturerPrimaryVehicle, vehicle.Manufacturer), - new XElement(_vif + XMLNames.ManufacturerAddressPrimaryVehicle, vehicle.ManufacturerAddress), - new XElement(_vif + XMLNames.Component_Model, vehicle.Model), - new XElement(_vif + XMLNames.Vehicle_VIN, vehicle.VIN), - new XElement(_vif + XMLNames.Component_Date, XmlConvert.ToString(vehicle.Date, XmlDateTimeSerializationMode.Utc)), - new XElement(_vif + XMLNames.Vehicle_LegislativeCategory, vehicle.LegislativeClass.ToXMLFormat()), - new XElement(_vif + XMLNames.ChassisConfiguration, vehicle.VehicleCategory.ToXMLFormat()), - new XElement(_vif + XMLNames.Vehicle_AxleConfiguration, vehicle.AxleConfiguration.ToXMLFormat()), - new XElement(_vif + XMLNames.Vehicle_Articulated, vehicle.Articulated), - new XElement(_vif + XMLNames.TPMLM, vehicle.GrossVehicleMassRating.ToXMLFormat(0)), - new XElement(_vif + XMLNames.Vehicle_IdlingSpeed, vehicle.EngineIdleSpeed.AsRPM.ToXMLFormat(0)), - new XElement(_vif + XMLNames.Vehicle_RetarderType, vehicle.Components.RetarderInputData.Type.ToXMLFormat()), - vehicle.Components.RetarderInputData.Type.IsDedicatedComponent() - ? new XElement(_vif + XMLNames.Vehicle_RetarderRatio, vehicle.Components.RetarderInputData?.Ratio.ToXMLFormat(3)) - : null, - new XElement(_vif + XMLNames.Vehicle_AngledriveType, vehicle.Components.AngledriveInputData.Type.ToXMLFormat()), - new XElement(_vif + XMLNames.Vehicle_ZeroEmissionVehicle, vehicle.ZeroEmissionVehicle), - _vifReportFactory.GetConventionalADASType().GetXmlType(inputData.JobInputData.Vehicle.ADAS), - _vifReportFactory.GetTorqueLimitsType().GetElement(inputData), - - }; - + var result = new List<XElement>(); + result.AddRange(_vifReportFactory.GetPrimaryBusGeneralParameterGroup().GetElements(inputData)); + result.AddRange(_vifReportFactory.GetPrimaryBusChassisParameterGroup().GetElements(inputData)); + result.Add(new XElement(_vif + XMLNames.Vehicle_IdlingSpeed, vehicle.EngineIdleSpeed.AsRPM.ToXMLFormat(0))); + result.Add(new XElement(_vif + XMLNames.Vehicle_RetarderType, vehicle.Components.RetarderInputData.Type.ToXMLFormat())); + if (vehicle.Components.RetarderInputData.Type.IsDedicatedComponent()) { + result.Add(new XElement(_vif + XMLNames.Vehicle_RetarderRatio, + vehicle.Components.RetarderInputData?.Ratio.ToXMLFormat(3))); + } + result.Add(new XElement(_vif + XMLNames.Vehicle_AngledriveType, vehicle.Components.AngledriveInputData.Type.ToXMLFormat())); + result.Add(new XElement(_vif + XMLNames.Vehicle_ZeroEmissionVehicle, vehicle.ZeroEmissionVehicle)); + result.Add(_vifReportFactory.GetConventionalADASType().GetXmlType(inputData.JobInputData.Vehicle.ADAS)); + result.Add(_vifReportFactory.GetTorqueLimitsType().GetElement(inputData)); + return result; } @@ -318,4 +310,28 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF #endregion } + + public class ExemptedVehicleParameterGroup : AbstractVIFGroupWriter + { + public ExemptedVehicleParameterGroup(IVIFReportFactory vifReportFactory) : base(vifReportFactory) { } + + #region Overrides of AbstractVIFGroupWriter + + public override IList<XElement> GetElements(IDeclarationInputDataProvider inputData) + { + var vehicle = inputData.JobInputData.Vehicle; + + var result = new List<XElement>(); + + result.AddRange(_vifReportFactory.GetPrimaryBusGeneralParameterGroup().GetElements(inputData)); + result.AddRange(_vifReportFactory.GetPrimaryBusChassisParameterGroup().GetElements(inputData)); + result.Add(new XElement(_vif + XMLNames.Vehicle_ZeroEmissionVehicle, vehicle.ZeroEmissionVehicle)); + result.Add(new XElement(_vif + "SumNetPower", XMLHelper.ValueAsUnit(vehicle.MaxNetPower1, "W"))); + result.Add(new XElement(_vif + "Technology", vehicle.ExemptedTechnology)); + + return result; + } + + #endregion + } } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VehicleWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VehicleWriter.cs index 30566013c1e2b703f5c76fd5d1a30262a43b7a8a..4afedc500bdd6d2aea1f2c86e9fc1d78d991bb80 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VehicleWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VehicleWriter.cs @@ -242,4 +242,23 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF #endregion } + + public class ExemptedVehicleType : VehicleWriter + { + public ExemptedVehicleType(IVIFReportFactory vifReportFactory) : base(vifReportFactory) { } + + #region Overrides of VehicleWriter + + public override XElement GetElement(IDeclarationInputDataProvider inputData) + { + var vehicleData = _vifReportFactory.GetExemptedVehicleParameterGroup().GetElements(inputData); + //vehicleData.Add(_vifReportFactory.GetPevIEPCComponentVIFType().GetElement(inputData)); + + return new XElement(_vif + XMLNames.Component_Vehicle, + new XAttribute(_xsi + XMLNames.XSIType, "Exempted_VehicleVIFType"), + vehicleData); + } + + #endregion + } } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs index 5529ff1f3722a86225c7160cf69337ba8e29935c..091296243658f607321b5a0de2fec571b44952c6 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs @@ -20,7 +20,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF VehiclePart.Add( new XAttribute(xsi + XMLNames.Attr_Type, "VehicleExemptedPrimaryBusType"), new XElement(tns + XMLNames.ManufacturerPrimaryVehicle, modelData.VehicleData.Manufacturer), - new XElement(tns + XMLNames.ManufacturerAddressPrimaryVehicle, modelData.VehicleData.ManufacturerAddress), + new XElement(tns + XMLNames.ManufacturerAddress, modelData.VehicleData.ManufacturerAddress), new XElement(tns + XMLNames.Component_Model, modelData.VehicleData.ModelName), new XElement(tns + XMLNames.Vehicle_VIN, modelData.VehicleData.VIN), new XElement(tns + XMLNames.Component_Date, XmlConvert.ToString(modelData.VehicleData.Date, XmlDateTimeSerializationMode.Utc)), diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs index 18fc9981fa89181ccdf55194003d0e1c8a65e05d..1f1a7615f98a1be7ede9096adb16ed9306c9d17c 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs @@ -135,7 +135,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF VehiclePart.Add( new XAttribute(xsi + XMLNames.XSIType, "ConventionalVehicleVIFType"), new XElement(tns + XMLNames.ManufacturerPrimaryVehicle, modelData.VehicleData.Manufacturer), - new XElement(tns + XMLNames.ManufacturerAddressPrimaryVehicle, modelData.VehicleData.ManufacturerAddress), + new XElement(tns + XMLNames.ManufacturerAddress, modelData.VehicleData.ManufacturerAddress), new XElement(tns + XMLNames.Component_Model, modelData.VehicleData.ModelName), new XElement(tns + XMLNames.Vehicle_VIN, modelData.VehicleData.VIN), new XElement(tns + XMLNames.Component_Date, XmlConvert.ToString(modelData.VehicleData.Date, XmlDateTimeSerializationMode.Utc)), diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs index f2539057dd8619c6bdd39c0050cde81745120ed2..4ae5b34fef7105556017529142f9388202c68f5b 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs @@ -19,10 +19,6 @@ namespace TUGraz.VectoCore.OutputData.XML { #region Overrides of XMLDeclarationReport - protected override void DoStoreResult(ResultEntry entry, VectoRunData runData, IModalDataContainer modData) - { - //base.DoStoreResult(entry, runData, modData); - } protected override void InstantiateReports(VectoRunData modelData) { @@ -107,13 +103,5 @@ namespace TUGraz.VectoCore.OutputData.XML { } } - #region Overrides of XMLDeclarationReport - - protected override void WriteResult(ResultEntry result) - { - base.WriteResult(result); - } - - #endregion } } \ No newline at end of file diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd index 7a2655cb832e6c89e5b24da088348b48622c3827..72afeec15aa9d88e8e5139c91329564eb581a5d5 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputCustomer.0.9.xsd @@ -651,31 +651,7 @@ </xs:complexType> <xs:complexType name="Exempted_CompletedBusVehicleType"> <xs:sequence> - <xs:group ref="GeneralVehicleSequenceGroup"/> - <xs:sequence> - <xs:element name="Manufacturers"> - <xs:complexType> - <xs:sequence maxOccurs="unbounded"> - <xs:element name="Step"> - <xs:complexType> - <xs:sequence> - <xs:element name="Manufacturer"/> - <xs:element name="ManufacturerAddress"/> - </xs:sequence> - <xs:attribute name="stepCount" type="xs:int"/> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:sequence> - <xs:element name="CorrectedActualMass"/> - <xs:element name="ZeroEmissionVehicle"/> - <xs:element name="HybridElectricHDV"/> - <xs:element name="ClassBus"/> - <xs:element name="TotalNumberOfPassengers"/> - </xs:sequence> + <xs:group ref="CompletedBusVehicleTypeGroup"/> </xs:sequence> </xs:complexType> <xs:simpleType name="RatedPowerType"> diff --git a/VectoCore/VectoCore/Resources/XSD/VectoOutputMultistep.0.1.xsd b/VectoCore/VectoCore/Resources/XSD/VectoOutputMultistep.0.1.xsd index 75df0c239a9c01e8bf0d1c717c422f253ec270d4..26c5cdc4a4f1163e8a3b94d4abc541a3b7c8683f 100644 --- a/VectoCore/VectoCore/Resources/XSD/VectoOutputMultistep.0.1.xsd +++ b/VectoCore/VectoCore/Resources/XSD/VectoOutputMultistep.0.1.xsd @@ -1341,27 +1341,9 @@ <xs:complexContent> <xs:extension base="vif:AbstractPrimaryVehicleType"> <xs:sequence> - <xs:element name="ManufacturerPrimaryVehicle" type="v1.0:ManufacturerType"/> - <xs:element name="ManufacturerAddressPrimaryVehicle" type="v1.0:ManufacturerAddressType"/> - <xs:element name="Model" type="v1.0:ModelType"/> - <xs:element name="VIN" type="v1.0:VINType"/> - <xs:element name="Date" type="v1.0:DateTimeWithTimezone"/> - <xs:element name="LegislativeCategory" type="xs:string"> - <xs:annotation> - <xs:documentation>P251 - [-]</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="ChassisConfiguration" type="v2.4:ChassisConfigurationPrimaryBusDeclarationType"/> - <xs:element name="AxleConfiguration" type="v2.4:AxleConfigurationPrimaryBusLorryDeclarationType"/> - <xs:element name="Articulated" type="xs:boolean"/> - <xs:element name="TechnicalPermissibleMaximumLadenMass" type="v1.0:VehicleGrossVehicleMassType"/> + <xs:group ref="vif:Vehicle_PrimaryBusParametersSequenceGroup"/> <xs:element name="IdlingSpeed" type="v1.0:EngineDeclaredSpeedType"/> - <xs:element name="RetarderType" type="v1.0:RetarderTypeType"/> - <xs:element name="RetarderRatio" type="v1.0:RetarderRatioType" minOccurs="0"> - <xs:annotation> - <xs:documentation>P053 - [-]</xs:documentation> - </xs:annotation> - </xs:element> + <xs:group ref="vif:Vehicle_PrimaryBus_Retarder_ParametersSequenceGroup"/> <xs:element name="AngledriveType" type="v1.0:AngledriveTypeType"> <xs:annotation> <xs:documentation>P180 - enum</xs:documentation> @@ -1827,7 +1809,7 @@ </xs:annotation> </xs:element> <xs:group ref="vif:Vehicle_PrimaryBus_Retarder_ParametersSequenceGroup"/> - <xs:element name="AngledriveType" type="v1.0:AngledriveTypeType" minOccurs="0"> + <xs:element name="AngledriveType" type="v1.0:AngledriveTypeType"> <xs:annotation> <xs:documentation>P180 - enum</xs:documentation> </xs:annotation> @@ -2564,64 +2546,11 @@ </xs:extension> </xs:complexContent> </xs:complexType> - <xs:complexType name="VehicleExemptedPrimaryBusType"> + <xs:complexType name="Exempted_VehicleVIFType"> <xs:complexContent> <xs:extension base="vif:AbstractPrimaryVehicleType"> <xs:sequence> - <xs:element name="ManufacturerPrimaryVehicle" type="v1.0:ManufacturerType"> - <xs:annotation> - <xs:documentation>P235 / I.1.1.1 / #14</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="ManufacturerAddressPrimaryVehicle" type="v1.0:ManufacturerAddressType"> - <xs:annotation> - <xs:documentation>P252 / I.1.1.1 / #14</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="Model" type="v1.0:ModelType"> - <xs:annotation> - <xs:documentation>P236 / I.1.1.2</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="VIN" type="v1.0:VINType"> - <xs:annotation> - <xs:documentation>P238 / I.1.1.3 / #1</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="Date" type="v1.0:DateTimeWithTimezone"/> - <xs:element name="LegislativeCategory"> - <xs:annotation> - <xs:documentation>P251 / I.1.1.4 / #10</xs:documentation> - </xs:annotation> - <xs:simpleType> - <xs:restriction base="xs:string"> - <xs:minLength value="1"/> - </xs:restriction> - </xs:simpleType> - </xs:element> - <xs:element name="ChassisConfiguration" type="v2.4:ChassisConfigurationPrimaryBusDeclarationType"> - <xs:annotation> - <xs:documentation>P036 - enum</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="AxleConfiguration" type="v2.4:AxleConfigurationPrimaryBusLorryDeclarationType"> - <xs:annotation> - <xs:documentation>P037 - enum</xs:documentation> - </xs:annotation> - </xs:element> - <xs:element name="Articulated" type="xs:boolean"/> - <xs:element name="TechnicalPermissibleMaximumLadenMass"> - <xs:annotation> - <xs:documentation>P041 / I.1.1.6 / #12</xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:double"> - <xs:attribute name="unit" type="out:MassUnitType" use="required"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> + <xs:group ref="vif:Vehicle_PrimaryBusParametersSequenceGroup"/> <xs:element name="ZeroEmissionVehicle" type="xs:boolean"> <xs:annotation> <xs:documentation>P269 / I.1.1.10</xs:documentation> @@ -2935,6 +2864,11 @@ </xs:group> <xs:group name="Vehicle_PrimaryBusGeneralParametersSequence"> <xs:sequence> + <xs:element name="Manufacturer" type="v1.0:ManufacturerType"> + <xs:annotation> + <xs:documentation>P235 - [-]</xs:documentation> + </xs:annotation> + </xs:element> <xs:element name="ManufacturerAddress" type="v1.0:ManufacturerAddressType"> <xs:annotation> <xs:documentation>P252 - [-]</xs:documentation> @@ -2955,11 +2889,6 @@ <xs:documentation>P239 - [-]</xs:documentation> </xs:annotation> </xs:element> - <xs:element name="Manufacturer" type="v1.0:ManufacturerType"> - <xs:annotation> - <xs:documentation>P235 - [-]</xs:documentation> - </xs:annotation> - </xs:element> </xs:sequence> </xs:group> <xs:group name="Vehicle_PrimaryBusParametersSequenceGroup"> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/exempted_completed.VIF_Report_2.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/exempted_completed.VIF_Report_2.xml index 51e8fe3a5a78272b1dddeee992012f4472d218d8..92d4f08f771fa79867d549118cdadb4e9c5563e0 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/exempted_completed.VIF_Report_2.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/exempted_completed.VIF_Report_2.xml @@ -2,17 +2,17 @@ <vif0.1:VectoOutputMultistep 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: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.4="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.4" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1 V:\VectoCore\VectoCore\Resources\XSD/VectoOutputMultistep.0.1.xsd"> <PrimaryVehicle xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1"> <Data id="VEH-4cb168560c0d4b3d886d" xsi:type="PrimaryVehicleDataType"> - <Vehicle xsi:type="VehicleExemptedPrimaryBusType"> - <ManufacturerPrimaryVehicle>Some Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Infinite Loop 1</ManufacturerAddressPrimaryVehicle> + <Vehicle xsi:type="Exempted_VehicleVIFType"> + <Manufacturer>Some Manufacturer</Manufacturer> + <ManufacturerAddress>Infinite Loop 1</ManufacturerAddress> <Model>Sample Bus Model</Model> <VIN>VEH-1234567890</VIN> <Date>2017-02-15T11:00:00Z</Date> - <LegislativeCategory>N2</LegislativeCategory> + <LegislativeCategory>M3</LegislativeCategory> <ChassisConfiguration>Bus</ChassisConfiguration> <AxleConfiguration>6x2</AxleConfiguration> <Articulated>false</Articulated> - <TechnicalPermissibleMaximumLadenMass unit="kg">15400.0</TechnicalPermissibleMaximumLadenMass> + <TechnicalPermissibleMaximumLadenMass>15400</TechnicalPermissibleMaximumLadenMass> <ZeroEmissionVehicle>true</ZeroEmissionVehicle> <SumNetPower unit="W">350000</SumNetPower> <Technology>Fuel cell vehicle</Technology> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/exempted_primary_heavyBus.VIF.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/exempted_primary_heavyBus.VIF.xml index a1dfe0305c17985906b8e3e908c524cd595ac0ce..3be573c3c80288278704c87d796c1db14fb65e85 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/exempted_primary_heavyBus.VIF.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/exempted_primary_heavyBus.VIF.xml @@ -9,17 +9,17 @@ xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.3" xmlns:v2.4="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.4" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1 V:\VectoCore\VectoCore\Resources\XSD/VectoOutputMultistep.0.1.xsd"> <PrimaryVehicle xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1"> <Data id="VEH-4cb168560c0d4b3d886d" xsi:type="PrimaryVehicleDataType"> - <Vehicle xsi:type="VehicleExemptedPrimaryBusType"> - <ManufacturerPrimaryVehicle>Some Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Infinite Loop 1</ManufacturerAddressPrimaryVehicle> + <Vehicle xsi:type="Exempted_VehicleVIFType"> + <Manufacturer>Some Manufacturer</Manufacturer> + <ManufacturerAddress>Infinite Loop 1</ManufacturerAddress> <Model>Sample Bus Model</Model> <VIN>VEH-1234567890</VIN> <Date>2017-02-15T11:00:00Z</Date> - <LegislativeCategory>N2</LegislativeCategory> + <LegislativeCategory>M3</LegislativeCategory> <ChassisConfiguration>Bus</ChassisConfiguration> <AxleConfiguration>6x2</AxleConfiguration> <Articulated>false</Articulated> - <TechnicalPermissibleMaximumLadenMass unit="kg">15400.0</TechnicalPermissibleMaximumLadenMass> + <TechnicalPermissibleMaximumLadenMass>15400</TechnicalPermissibleMaximumLadenMass> <ZeroEmissionVehicle>true</ZeroEmissionVehicle> <SumNetPower unit="W">350000</SumNetPower> <Technology>Fuel cell vehicle</Technology> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages.xml index 23cdbffc9885d80a8d025b015f55ee033553eb8c..f843bb2884ac75ca199ef4bd4e80ba6da2056c81 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages.xml @@ -12,8 +12,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <PrimaryVehicle> <Data id="text" xsi:type="PrimaryVehicleDataType"> <Vehicle xsi:type="ConventionalVehicleVIFType"> - <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> <Model>Generic Model</Model> <VIN>VEH-1234567890_nonSmart-ESS</VIN> <Date>2017-02-15T11:00:00Z</Date> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_NGTankSystem.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_NGTankSystem.xml index 2b6805c520ac9ad7997b94052c101ee1966123a8..b992d17de2f7a2f64898b41a393d35165189483e 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_NGTankSystem.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_NGTankSystem.xml @@ -12,8 +12,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <PrimaryVehicle> <Data id="text" xsi:type="PrimaryVehicleDataType"> <Vehicle xsi:type="ConventionalVehicleVIFType"> - <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> <Model>Generic Model</Model> <VIN>VEH-1234567890_nonSmart-ESS</VIN> <Date>2017-02-15T11:00:00Z</Date> @@ -52,9 +52,9 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <RatedPower>325032</RatedPower> <MaxEngineTorque>2134</MaxEngineTorque> <WHRType> - <v2.3:MechanicalOutputICE>false</v2.3:MechanicalOutputICE> - <v2.3:MechanicalOutputDrivetrain>false</v2.3:MechanicalOutputDrivetrain> - <v2.3:ElectricalOutput>true</v2.3:ElectricalOutput> + <MechanicalOutputICE>false</MechanicalOutputICE> + <MechanicalOutputDrivetrain>false</MechanicalOutputDrivetrain> + <ElectricalOutput>true</ElectricalOutput> </WHRType> <Mode> <IdlingSpeed>600</IdlingSpeed> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_airdrag.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_airdrag.xml index cc342b4b8c5787830a63be9f1bf00220ac75fd21..e13e4c4355fdad8b9d218ca83e557490e47993cd 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_airdrag.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_airdrag.xml @@ -12,8 +12,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <PrimaryVehicle> <Data id="text" xsi:type="PrimaryVehicleDataType"> <Vehicle xsi:type="ConventionalVehicleVIFType"> - <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> <Model>Generic Model</Model> <VIN>VEH-1234567890_nonSmart-ESS</VIN> <Date>2017-02-15T11:00:00Z</Date> @@ -52,9 +52,9 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <RatedPower>325032</RatedPower> <MaxEngineTorque>2134</MaxEngineTorque> <WHRType> - <v2.3:MechanicalOutputICE>false</v2.3:MechanicalOutputICE> - <v2.3:MechanicalOutputDrivetrain>false</v2.3:MechanicalOutputDrivetrain> - <v2.3:ElectricalOutput>true</v2.3:ElectricalOutput> + <MechanicalOutputICE>false</MechanicalOutputICE> + <MechanicalOutputDrivetrain>false</MechanicalOutputDrivetrain> + <ElectricalOutput>true</ElectricalOutput> </WHRType> <Mode> <IdlingSpeed>600</IdlingSpeed> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_heatPump.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_heatPump.xml index 8ab37cc3ce0a7d990e26e6df27f7fe08dfdb60b1..5900879dbfd1996265359fdf0d54ef9a39234a8a 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_heatPump.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_heatPump.xml @@ -12,8 +12,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <PrimaryVehicle> <Data id="text" xsi:type="PrimaryVehicleDataType"> <Vehicle xsi:type="ConventionalVehicleVIFType"> - <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> <Model>Generic Model</Model> <VIN>VEH-1234567890_nonSmart-ESS</VIN> <Date>2017-02-15T11:00:00Z</Date> @@ -52,9 +52,9 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <RatedPower>325032</RatedPower> <MaxEngineTorque>2134</MaxEngineTorque> <WHRType> - <v2.3:MechanicalOutputICE>false</v2.3:MechanicalOutputICE> - <v2.3:MechanicalOutputDrivetrain>false</v2.3:MechanicalOutputDrivetrain> - <v2.3:ElectricalOutput>true</v2.3:ElectricalOutput> + <MechanicalOutputICE>false</MechanicalOutputICE> + <MechanicalOutputDrivetrain>false</MechanicalOutputDrivetrain> + <ElectricalOutput>true</ElectricalOutput> </WHRType> <Mode> <IdlingSpeed>600</IdlingSpeed> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_hev.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_hev.xml index 38628a09bad3a350cfc50931ba19b719643e9bf3..2c7866db5ee6d34347b4786129e7ee6dfd8c38ec 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_hev.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_hev.xml @@ -12,8 +12,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <PrimaryVehicle> <Data id="text" xsi:type="PrimaryVehicleDataType"> <Vehicle xsi:type="ConventionalVehicleVIFType"> - <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> <Model>Generic Model</Model> <VIN>VEH-1234567890_nonSmart-ESS</VIN> <Date>2017-02-15T11:00:00Z</Date> @@ -52,9 +52,9 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <RatedPower>325032</RatedPower> <MaxEngineTorque>2134</MaxEngineTorque> <WHRType> - <v2.3:MechanicalOutputICE>false</v2.3:MechanicalOutputICE> - <v2.3:MechanicalOutputDrivetrain>false</v2.3:MechanicalOutputDrivetrain> - <v2.3:ElectricalOutput>true</v2.3:ElectricalOutput> + <MechanicalOutputICE>false</MechanicalOutputICE> + <MechanicalOutputDrivetrain>false</MechanicalOutputDrivetrain> + <ElectricalOutput>true</ElectricalOutput> </WHRType> <Mode> <IdlingSpeed>600</IdlingSpeed> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_vif.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_vif.xml index 3ebda336e48fe9904386339787b4f21f504fa1a6..35319f85277634581a732a5fba06f758b95c03aa 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_vif.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_multiple_stages_vif.xml @@ -12,8 +12,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <PrimaryVehicle> <Data id="text" xsi:type="PrimaryVehicleDataType"> <Vehicle xsi:type="ConventionalVehicleVIFType"> - <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> <Model>Generic Model</Model> <VIN>VEH-1234567890_nonSmart-ESS</VIN> <Date>2017-02-15T11:00:00Z</Date> @@ -52,9 +52,9 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <RatedPower>325032</RatedPower> <MaxEngineTorque>2134</MaxEngineTorque> <WHRType> - <v2.3:MechanicalOutputICE>false</v2.3:MechanicalOutputICE> - <v2.3:MechanicalOutputDrivetrain>false</v2.3:MechanicalOutputDrivetrain> - <v2.3:ElectricalOutput>true</v2.3:ElectricalOutput> + <MechanicalOutputICE>false</MechanicalOutputICE> + <MechanicalOutputDrivetrain>false</MechanicalOutputDrivetrain> + <ElectricalOutput>true</ElectricalOutput> </WHRType> <Mode> <IdlingSpeed>600</IdlingSpeed> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_one_stage.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_one_stage.xml index c13114a284e01e3a2ee4f80f6cf5c2898a1149c3..bf3cbba29aeaf1897c25dc50ae47710bca82fe13 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_one_stage.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_one_stage.xml @@ -12,8 +12,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <PrimaryVehicle> <Data id="text" xsi:type="PrimaryVehicleDataType"> <Vehicle xsi:type="ConventionalVehicleVIFType"> - <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> <Model>Generic Model</Model> <VIN>VEH-1234567890_nonSmart-ESS</VIN> <Date>2017-02-15T11:00:00Z</Date> @@ -52,9 +52,9 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <RatedPower>325032</RatedPower> <MaxEngineTorque>2134</MaxEngineTorque> <WHRType> - <v2.3:MechanicalOutputICE>false</v2.3:MechanicalOutputICE> - <v2.3:MechanicalOutputDrivetrain>false</v2.3:MechanicalOutputDrivetrain> - <v2.3:ElectricalOutput>true</v2.3:ElectricalOutput> + <MechanicalOutputICE>false</MechanicalOutputICE> + <MechanicalOutputDrivetrain>false</MechanicalOutputDrivetrain> + <ElectricalOutput>true</ElectricalOutput> </WHRType> <Mode> <IdlingSpeed>600</IdlingSpeed> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_two_stages.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_two_stages.xml index 4ab9b87ac9b4686569f0d18315450be0d9363048..68be47a295e2bb88e1ea55afe679bdb6fb3ac133 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_two_stages.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_consolidated_two_stages.xml @@ -12,8 +12,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <PrimaryVehicle> <Data id="text" xsi:type="PrimaryVehicleDataType"> <Vehicle xsi:type="ConventionalVehicleVIFType"> - <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> <Model>Generic Model</Model> <VIN>VEH-1234567890_nonSmart-ESS</VIN> <Date>2017-02-15T11:00:00Z</Date> @@ -52,9 +52,9 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <RatedPower>325032</RatedPower> <MaxEngineTorque>2134</MaxEngineTorque> <WHRType> - <v2.3:MechanicalOutputICE>false</v2.3:MechanicalOutputICE> - <v2.3:MechanicalOutputDrivetrain>false</v2.3:MechanicalOutputDrivetrain> - <v2.3:ElectricalOutput>true</v2.3:ElectricalOutput> + <MechanicalOutputICE>false</MechanicalOutputICE> + <MechanicalOutputDrivetrain>false</MechanicalOutputDrivetrain> + <ElectricalOutput>true</ElectricalOutput> </WHRType> <Mode> <IdlingSpeed>600</IdlingSpeed> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_conventional_final_vif.VIF_Report_1.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_conventional_final_vif.VIF_Report_1.xml index 5831674cd560191db43db46a53b1c4d4070b65c4..2f6e5115481fea2e8b5b36c5333cd9d23a027bf5 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_conventional_final_vif.VIF_Report_1.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_conventional_final_vif.VIF_Report_1.xml @@ -9,8 +9,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <PrimaryVehicle> <Data id="VEH-622a60d3b3cf4340a362" xsi:type="PrimaryVehicleDataType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1"> <Vehicle xsi:type="ConventionalVehicleVIFType"> - <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> <Model>Generic Model</Model> <VIN>VEH-1234567890</VIN> <Date>2017-02-15T11:00:00Z</Date> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_only.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_only.xml index 7b30f3e6d5b3a9cceee45b2df3ec581a242c6f00..0b5f00fb8b85b25459401261298a4c8ff44fadbb 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_only.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_only.xml @@ -12,8 +12,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <PrimaryVehicle> <Data id="text" xsi:type="PrimaryVehicleDataType"> <Vehicle xsi:type="ConventionalVehicleVIFType"> - <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> <Model>Generic Model</Model> <VIN>VEH-1234567890_nonSmart-ESS</VIN> <Date>2017-02-15T11:00:00Z</Date> @@ -52,9 +52,9 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <RatedPower>325032</RatedPower> <MaxEngineTorque>2134</MaxEngineTorque> <WHRType> - <v2.3:MechanicalOutputICE>false</v2.3:MechanicalOutputICE> - <v2.3:MechanicalOutputDrivetrain>false</v2.3:MechanicalOutputDrivetrain> - <v2.3:ElectricalOutput>true</v2.3:ElectricalOutput> + <MechanicalOutputICE>false</MechanicalOutputICE> + <MechanicalOutputDrivetrain>false</MechanicalOutputDrivetrain> + <ElectricalOutput>true</ElectricalOutput> </WHRType> <Mode> <IdlingSpeed>600</IdlingSpeed> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_3.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_3.xml index ec705312d43ca181a823e15228a03245c68fb2d8..3568618bd5a60cca8a2fc9a128231706652a4662 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_3.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_3.xml @@ -11,8 +11,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <PrimaryVehicle> <Data id="text" xsi:type="PrimaryVehicleDataType"> <Vehicle xsi:type="ConventionalVehicleVIFType"> - <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> <Model>Generic Model</Model> <VIN>VEH-1234567890_nonSmart-ESS</VIN> <Date>2017-02-15T11:00:00Z</Date> @@ -51,9 +51,9 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <RatedPower>325032</RatedPower> <MaxEngineTorque>2134</MaxEngineTorque> <WHRType> - <v2.3:MechanicalOutputICE>false</v2.3:MechanicalOutputICE> - <v2.3:MechanicalOutputDrivetrain>false</v2.3:MechanicalOutputDrivetrain> - <v2.3:ElectricalOutput>true</v2.3:ElectricalOutput> + <MechanicalOutputICE>false</MechanicalOutputICE> + <MechanicalOutputDrivetrain>false</MechanicalOutputDrivetrain> + <ElectricalOutput>true</ElectricalOutput> </WHRType> <Mode> <IdlingSpeed>600</IdlingSpeed> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_3_group41.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_3_group41.xml index cea4aaff46cca79892c80c5ebc25822867693fb7..63615f72b2b3b0bd6977f3945437078f99533e50 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_3_group41.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_3_group41.xml @@ -12,8 +12,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <PrimaryVehicle> <Data id="text" xsi:type="PrimaryVehicleDataType"> <Vehicle xsi:type="ConventionalVehicleVIFType"> - <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> <Model>Generic Model</Model> <VIN>VEH-1234567890_nonSmart</VIN> <Date>2017-02-15T11:00:00Z</Date> @@ -51,9 +51,9 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <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> + <MechanicalOutputICE>false</MechanicalOutputICE> + <MechanicalOutputDrivetrain>false</MechanicalOutputDrivetrain> + <ElectricalOutput>false</ElectricalOutput> </WHRType> <Mode> <IdlingSpeed>700</IdlingSpeed> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_full.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_full.xml index 923b07c1e393f28822d6a87084deaa430be5000e..859174edea4ba9e06ee9c0f6b1d78132140c31aa 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_full.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_full.xml @@ -12,8 +12,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <PrimaryVehicle> <Data id="text" xsi:type="PrimaryVehicleDataType"> <Vehicle xsi:type="ConventionalVehicleVIFType"> - <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> <Model>Generic Model</Model> <VIN>VEH-1234567890_nonSmart-ESS</VIN> <Date>2017-02-15T11:00:00Z</Date> @@ -52,9 +52,9 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <RatedPower>325032</RatedPower> <MaxEngineTorque>2134</MaxEngineTorque> <WHRType> - <v2.3:MechanicalOutputICE>false</v2.3:MechanicalOutputICE> - <v2.3:MechanicalOutputDrivetrain>false</v2.3:MechanicalOutputDrivetrain> - <v2.3:ElectricalOutput>true</v2.3:ElectricalOutput> + <MechanicalOutputICE>false</MechanicalOutputICE> + <MechanicalOutputDrivetrain>false</MechanicalOutputDrivetrain> + <ElectricalOutput>true</ElectricalOutput> </WHRType> <Mode> <IdlingSpeed>600</IdlingSpeed> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_mandatory.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_mandatory.xml index f81b15c5c14772d96643143e3d36efc9907ba754..1d0f4b5250fcbd98528b028c226085e59e1916d7 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_mandatory.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersionMultistage.0.1/vecto_multistage_primary_vehicle_stage_2_mandatory.xml @@ -12,8 +12,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <PrimaryVehicle> <Data id="text" xsi:type="PrimaryVehicleDataType"> <Vehicle xsi:type="ConventionalVehicleVIFType"> - <ManufacturerPrimaryVehicle>Generic Truck Manufacturer</ManufacturerPrimaryVehicle> - <ManufacturerAddressPrimaryVehicle>Street, ZIP City</ManufacturerAddressPrimaryVehicle> + <Manufacturer>Generic Truck Manufacturer</Manufacturer> + <ManufacturerAddress>Street, ZIP City</ManufacturerAddress> <Model>Generic Model</Model> <VIN>VEH-1234567890_nonSmart-ESS</VIN> <Date>2017-02-15T11:00:00Z</Date> @@ -52,9 +52,9 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <RatedPower>325032</RatedPower> <MaxEngineTorque>2134</MaxEngineTorque> <WHRType> - <v2.3:MechanicalOutputICE>false</v2.3:MechanicalOutputICE> - <v2.3:MechanicalOutputDrivetrain>false</v2.3:MechanicalOutputDrivetrain> - <v2.3:ElectricalOutput>true</v2.3:ElectricalOutput> + <MechanicalOutputICE>false</MechanicalOutputICE> + <MechanicalOutputDrivetrain>false</MechanicalOutputDrivetrain> + <ElectricalOutput>true</ElectricalOutput> </WHRType> <Mode> <IdlingSpeed>600</IdlingSpeed> diff --git a/VectoCore/VectoCoreTest/XML/Reports/ManufacturerReportWriterTest.cs b/VectoCore/VectoCoreTest/XML/Reports/ManufacturerReportWriterTest.cs index 170821dab668ebe40e428be6d32749831d06eed1..210a6e203d97ff7af5d621cd86a18fc0201c53a6 100644 --- a/VectoCore/VectoCoreTest/XML/Reports/ManufacturerReportWriterTest.cs +++ b/VectoCore/VectoCoreTest/XML/Reports/ManufacturerReportWriterTest.cs @@ -118,6 +118,24 @@ namespace TUGraz.VectoCore.Tests.XML.Reports return !error; } + public static void Validate(XDocument document, XmlDocumentType documentType) + { + var error = false; + + var stream = new MemoryStream(); + var writer = new XmlTextWriter(stream, Encoding.UTF8); + document.WriteTo(writer); + writer.Flush(); + stream.Flush(); + stream.Seek(0, SeekOrigin.Begin); + var validator = new XMLValidator(new XmlTextReader(stream)); + error = !validator.ValidateXML(documentType); + if (error) { + TestContext.WriteLine(validator.ValidationError); + Assert.Fail($"XML Validation failed {documentType}"); + } + } + protected bool WriteToDisk(string basePath, string fileName, XDocument xDocument) { diff --git a/VectoMockup/VectoMockup/MockupResultReader.cs b/VectoMockup/VectoMockup/MockupResultReader.cs index 37406fde8862f7d8319b04ac885eee671243e201..ecd34867b168d6c87a0211dcd53da0d0395ba315 100644 --- a/VectoMockup/VectoMockup/MockupResultReader.cs +++ b/VectoMockup/VectoMockup/MockupResultReader.cs @@ -107,7 +107,6 @@ namespace TUGraz.VectoMockup private static string GetArch(string xmlName, VectoRunData runData) { - bool ovc = false; var jobType = VectoSimulationJobType.ConventionalVehicle; if (runData.InputData is IXMLMultistageInputDataProvider) { diff --git a/VectoMockup/VectoMockup/Ninject/VIFMockupModule.cs b/VectoMockup/VectoMockup/Ninject/VIFMockupModule.cs index 2e8c4a74ebac4e09f86f5c5f1b1444339386ce66..65580be2158120e216b31c38c5661f19ed17112a 100644 --- a/VectoMockup/VectoMockup/Ninject/VIFMockupModule.cs +++ b/VectoMockup/VectoMockup/Ninject/VIFMockupModule.cs @@ -261,6 +261,11 @@ namespace TUGraz.VectoMockup.Ninject return _vifReportFactoryImplementation.GetHevPxVehicleParameterGroup(); } + public IReportOutputGroup GetExemptedVehicleParameterGroup() + { + return _vifReportFactoryImplementation.GetExemptedVehicleParameterGroup(); + } + public IXmlTypeWriter GetAngelDriveType() { return _vifReportFactoryImplementation.GetAngelDriveType(); diff --git a/VectoMockup/VectoMockup/Reports/MockupReportFactory.cs b/VectoMockup/VectoMockup/Reports/MockupReportFactory.cs index 8318779ca792fc453d0034db5b7f2eef14104d09..f3a52969e0af277ee18382151659ed3555e3e9d2 100644 --- a/VectoMockup/VectoMockup/Reports/MockupReportFactory.cs +++ b/VectoMockup/VectoMockup/Reports/MockupReportFactory.cs @@ -73,7 +73,8 @@ namespace TUGraz.VectoMockup.Reports { if (multistageVifInputData.VehicleInputData == null) { - var reportCompleted = new XMLDeclarationMockupReportCompletedVehicle(outputDataWriter, _mrfFactory, _cifFactory, true) + var reportCompleted = new XMLDeclarationMockupReportCompletedVehicle(outputDataWriter, _mrfFactory, _cifFactory, + multistageVifInputData.MultistageJobInputData.JobInputData.PrimaryVehicle.Vehicle.ExemptedVehicle, true) { PrimaryVehicleReportInputData = multistageVifInputData.MultistageJobInputData.JobInputData.PrimaryVehicle, }; diff --git a/VectoMockup/VectoMockup/Reports/XMLDeclarationMockupReportCompletedVehicle.cs b/VectoMockup/VectoMockup/Reports/XMLDeclarationMockupReportCompletedVehicle.cs index c04214e04370ea4594e4557bded0472bd1fc748a..c2c885cb8bb578075ed54f5be63848581c590170 100644 --- a/VectoMockup/VectoMockup/Reports/XMLDeclarationMockupReportCompletedVehicle.cs +++ b/VectoMockup/VectoMockup/Reports/XMLDeclarationMockupReportCompletedVehicle.cs @@ -18,12 +18,16 @@ namespace TUGraz.VectoMockup.Reports { private readonly IManufacturerReportFactory _mrfFactory; private readonly ICustomerInformationFileFactory _cifFactory; + private readonly bool _exempted; - public XMLDeclarationMockupReportCompletedVehicle(IReportWriter writer, IManufacturerReportFactory mrfFactory, ICustomerInformationFileFactory cifFactory, bool writePIF = false) : base(writer, + public XMLDeclarationMockupReportCompletedVehicle(IReportWriter writer, IManufacturerReportFactory mrfFactory, + ICustomerInformationFileFactory cifFactory, bool exempted, bool writePIF = false) : base(writer, writePIF) { _mrfFactory = mrfFactory; _cifFactory = cifFactory; + + _exempted = exempted; } #region Overrides of XMLDeclarationReportCompletedVehicle @@ -33,8 +37,8 @@ namespace TUGraz.VectoMockup.Reports var inputData = modelData.InputData as IXMLMultistageInputDataProvider; - var ihpc = (inputData.JobInputData.PrimaryVehicle.Vehicle.Components.ElectricMachines?.Entries)?.Count(electric => electric.ElectricMachine.IHPCType != "None") > 0; - var iepc = (inputData.JobInputData.PrimaryVehicle.Vehicle.Components.IEPC != null); + var ihpc = (inputData.JobInputData.PrimaryVehicle.Vehicle.Components?.ElectricMachines?.Entries)?.Count(electric => electric.ElectricMachine.IHPCType != "None") > 0; + var iepc = (inputData.JobInputData.PrimaryVehicle.Vehicle.Components?.IEPC != null); ManufacturerRpt = _mrfFactory.GetManufacturerReport( inputData.JobInputData.ConsolidateManufacturingStage.Vehicle.VehicleCategory, inputData.JobInputData.JobType, @@ -57,28 +61,30 @@ namespace TUGraz.VectoMockup.Reports base.InitializeReport(modelData, fuelModes); } - #endregion + #endregion - #region Overrides of XMLDeclarationReport + #region Overrides of XMLDeclarationReport - #region Overrides of XMLDeclarationReportCompletedVehicle + #region Overrides of XMLDeclarationReportCompletedVehicle + + protected internal override void DoWriteReport() + { + foreach (var result in OrderedResults) { + WriteResult(result); + } - protected internal override void DoWriteReport() - { - (ManufacturerRpt as IXMLMockupReport).WriteMockupSummary(Results.First()); - (CustomerRpt as IXMLMockupReport).WriteMockupSummary(Results.First()); GenerateReports(); - if (Writer != null) - { + + if (Writer != null) { OutputReports(); } } - #endregion + #endregion - protected override void DoStoreResult(ResultEntry entry, VectoRunData runData, IModalDataContainer modData) + protected override void DoStoreResult(ResultEntry entry, VectoRunData runData, IModalDataContainer modData) { - base.DoStoreResult(entry, runData, modData); + } protected override void WriteResult(ResultEntry result) @@ -89,7 +95,17 @@ namespace TUGraz.VectoMockup.Reports protected override void GenerateReports() { - base.GenerateReports(); + if (!_exempted) { + (ManufacturerRpt as IXMLMockupReport).WriteMockupSummary(Results.First()); + (CustomerRpt as IXMLMockupReport).WriteMockupSummary(Results.First()); + } else { + (ManufacturerRpt as IXMLMockupReport).WriteExemptedResults(); + (CustomerRpt as IXMLMockupReport).WriteExemptedResults(); + } + + + + base.GenerateReports(); } protected override void OutputReports() diff --git a/VectoMockup/VectoMockup/Simulation/RundataFactories/CompletedBusRunDataFactory.cs b/VectoMockup/VectoMockup/Simulation/RundataFactories/CompletedBusRunDataFactory.cs index d09f52d067e5ef4b94668cf6cc1ddd4691553b22..8fe61ea5d4c61cfbe92020e73ac4cbb4f568e3c3 100644 --- a/VectoMockup/VectoMockup/Simulation/RundataFactories/CompletedBusRunDataFactory.cs +++ b/VectoMockup/VectoMockup/Simulation/RundataFactories/CompletedBusRunDataFactory.cs @@ -63,30 +63,30 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories ExecutionMode = ExecutionMode.Declaration, JobName = InputDataProvider.JobInputData.ManufacturingStages.Last().Vehicle.Identifier, Report = Report, - //Aux = PrimaryBusMockupRunDataFactory.CreateMockupBusAux(CompletedVehicle), + //Aux = PrimaryBusMockupRunDataFactory.CreateMockupBusAux(CompletedVehicle), - // //AirdragData = DataAdapterSpecific.CreateAirdragData(CompletedVehicle, mission), - // //EngineData = DataAdapterSpecific.CreateEngineData(PrimaryVehicle, modeIdx, mission), - // //ElectricMachinesData = new List<Tuple<PowertrainPosition, ElectricMotorData>>(), - // //GearboxData = _gearboxData, - // //AxleGearData = _axlegearData, - // //AngledriveData = _angledriveData, - // Aux = DataAdapterSpecific.CreateAuxiliaryData(PrimaryVehicle.Components.AuxiliaryInputData, - // PrimaryVehicle.Components.BusAuxiliaries, mission.MissionType, _segmentCompletedBus.VehicleClass, CompletedVehicle.Length, - // PrimaryVehicle.Components.AxleWheels.NumSteeredAxles), - //Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()), - //Retarder = _retarderData, - ////DriverData = _driverData, - //ExecutionMode = ExecutionMode.Declaration, - //JobName = InputDataProvider.JobInputData.ManufacturingStages.Last().Vehicle.Identifier,//?!? Jobname - //ModFileSuffix = $"_{_segmentCompletedBus.VehicleClass.GetClassNumber()}-Specific_{loading.Key}", - //Report = Report, - //Mission = mission, - //InputDataHash = InputDataProvider.XMLHash,// right hash?!? - //SimulationType = SimulationType.DistanceCycle, - //VehicleDesignSpeed = _segmentCompletedBus.DesignSpeed, - //GearshiftParameters = _gearshiftData, - }; + // //AirdragData = DataAdapterSpecific.CreateAirdragData(CompletedVehicle, mission), + // //EngineData = DataAdapterSpecific.CreateEngineData(PrimaryVehicle, modeIdx, mission), + // //ElectricMachinesData = new List<Tuple<PowertrainPosition, ElectricMotorData>>(), + // //GearboxData = _gearboxData, + // //AxleGearData = _axlegearData, + // //AngledriveData = _angledriveData, + // Aux = DataAdapterSpecific.CreateAuxiliaryData(PrimaryVehicle.Components.AuxiliaryInputData, + // PrimaryVehicle.Components.BusAuxiliaries, mission.MissionType, _segmentCompletedBus.VehicleClass, CompletedVehicle.Length, + // PrimaryVehicle.Components.AxleWheels.NumSteeredAxles), + //Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()), + //Retarder = _retarderData, + ////DriverData = _driverData, + //ExecutionMode = ExecutionMode.Declaration, + //JobName = InputDataProvider.JobInputData.ManufacturingStages.Last().Vehicle.Identifier,//?!? Jobname + ModFileSuffix = $"_{_segmentCompletedBus.VehicleClass.GetClassNumber()}-Specific_{loading.Key}", + //Report = Report, + //Mission = mission, + //InputDataHash = InputDataProvider.XMLHash,// right hash?!? + //SimulationType = SimulationType.DistanceCycle, + //VehicleDesignSpeed = _segmentCompletedBus.DesignSpeed, + //GearshiftParameters = _gearshiftData, + }; simulationRunData.EngineData.FuelMode = 0; simulationRunData.VehicleData.VehicleClass = _segmentCompletedBus.VehicleClass; simulationRunData.BusAuxiliaries = DataAdapterSpecific.CreateBusAuxiliariesData(mission, PrimaryVehicle, CompletedVehicle, simulationRunData); @@ -101,15 +101,18 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories var cycle = DeclarationData.CyclesCache.GetOrAdd(mission.MissionType, _ => DrivingCycleDataReader.ReadFromStream(mission.CycleFile, CycleType.DistanceBased, "", false)); return new VectoRunData() { Mission = mission, + Loading = loading.Key, VehicleData = new VehicleData() { Loading = loading.Value.Item1, }, + EngineData = PrimaryBusMockupRunDataFactory.CreateMockupEngineData(PrimaryVehicle, modeIdx, CompletedVehicle.TankSystem), JobName = InputDataProvider.JobInputData.ManufacturingStages.Last().Vehicle.Identifier, ExecutionMode = ExecutionMode.Declaration, SimulationType = SimulationType.DistanceCycle, Cycle = new DrivingCycleProxy(cycle, mission.MissionType.ToString()), Report = Report, + ModFileSuffix = $"_{_segmentCompletedBus.VehicleClass.GetClassNumber()}-Generic_{loading.Key}", }; return base.CreateVectoRunDataGeneric(mission, loading, primarySegment, modeIdx); } diff --git a/VectoMockup/VectoMockupTest/MockUpVectoTest.cs b/VectoMockup/VectoMockupTest/MockUpVectoTest.cs index da026047211a41d43da35c08b90794e6a4069dca..88f5f9235629fb9460ffaf1766e9ad491c3373a8 100644 --- a/VectoMockup/VectoMockupTest/MockUpVectoTest.cs +++ b/VectoMockup/VectoMockupTest/MockUpVectoTest.cs @@ -31,9 +31,9 @@ namespace VectoMockupTest public class MockUpVectoTest { + private const string BasePath = @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\"; - - private const string XsdPath = @"../../../../../VectoCore/VectoCore/Resources/XSD"; + private const string XsdPath = @".. /../../../../VectoCore/VectoCore/Resources/XSD"; private IKernel _vectoKernel; private ISimulatorFactoryFactory _simFactoryFactory; @@ -41,55 +41,33 @@ namespace VectoMockupTest private IXMLInputDataReader _inputDataReader; #region Lorry Testfiles - protected const string ConventionalHeavyLorry = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\HeavyLorry\Conventional_heavyLorry_AMT.xml"; - protected const string HEV_Px_HeavyLorry = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\HeavyLorry\HEV_heavyLorry_AMT_Px_IHPC.xml"; - protected const string HEV_S2_HeavyLorry = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\HeavyLorry\HEV-S_heavyLorry_AMT_S2.xml"; - protected const string HEV_S3_HeavyLorry = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\HeavyLorry\HEV-S_heavyLorry_S3.xml"; - protected const string HEV_S3_HeavyLorry_ovc = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\HeavyLorry\HEV-S_heavyLorry_S3_ovc.xml"; - protected const string HEV_S4_HeavyLorry = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\HeavyLorry\HEV-S_heavyLorry_S4.xml"; - protected const string HEV_IEPC_S_HeavyLorry = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\HeavyLorry\HEV-S_heavyLorry_IEPC-S.xml"; - protected const string PEV_E2_HeavyLorry = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\HeavyLorry\PEV_heavyLorry_AMT_E2.xml"; - protected const string PEV_E3_HeavyLorry = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\HeavyLorry\PEV_heavyLorry_E3.xml"; - protected const string PEV_E4_HeavyLorry = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\HeavyLorry\PEV_heavyLorry_E4.xml"; - protected const string PEV_IEPC_HeavyLorry = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\HeavyLorry\IEPC_heavyLorry.xml"; + protected const string ConventionalHeavyLorry = BasePath + @"HeavyLorry\Conventional_heavyLorry_AMT.xml"; + protected const string HEV_Px_HeavyLorry = BasePath + @"HeavyLorry\HEV_heavyLorry_AMT_Px_IHPC.xml"; + protected const string HEV_S2_HeavyLorry = BasePath + @"HeavyLorry\HEV-S_heavyLorry_AMT_S2.xml"; + protected const string HEV_S3_HeavyLorry = BasePath + @"HeavyLorry\HEV-S_heavyLorry_S3.xml"; + protected const string HEV_S3_HeavyLorry_ovc = BasePath + @"HeavyLorry\HEV-S_heavyLorry_S3_ovc.xml"; + protected const string HEV_S4_HeavyLorry = BasePath + @"HeavyLorry\HEV-S_heavyLorry_S4.xml"; + protected const string HEV_IEPC_S_HeavyLorry = BasePath + @"HeavyLorry\HEV-S_heavyLorry_IEPC-S.xml"; + protected const string PEV_E2_HeavyLorry = BasePath + @"HeavyLorry\PEV_heavyLorry_AMT_E2.xml"; + protected const string PEV_E3_HeavyLorry = BasePath + @"HeavyLorry\PEV_heavyLorry_E3.xml"; + protected const string PEV_E4_HeavyLorry = BasePath + @"HeavyLorry\PEV_heavyLorry_E4.xml"; + protected const string PEV_IEPC_HeavyLorry = BasePath + @"HeavyLorry\IEPC_heavyLorry.xml"; #endregion #region PrimaryBus - protected const string Conventional_PrimaryBus = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\PrimaryBus\Conventional_primaryBus_AMT.xml"; - protected const string Conventional_PrimaryBus_Tyres = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\PrimaryBus\Conventional_primaryBus_AMT_DifferentTyres.xml"; - protected const string HEV_Px_IHPC_PrimaryBus = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\PrimaryBus\HEV_primaryBus_AMT_Px.xml"; - protected const string HEV_S2_PrimaryBus = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\PrimaryBus\HEV-S_primaryBus_AMT_S2.xml"; - protected const string HEV_S3_PrimaryBus = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\PrimaryBus\HEV-S_primaryBus_S3.xml"; - protected const string HEV_S4_PrimaryBus = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\PrimaryBus\HEV-S_primaryBus_S4.xml"; - protected const string HEV_IEPC_S_PrimaryBus = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\PrimaryBus\HEV-S_primaryBus_IEPC-S.xml"; - protected const string PEV_E2_PrimaryBus = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\PrimaryBus\PEV_primaryBus_AMT_E2.xml"; - protected const string PEV_E3_PrimaryBus = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\PrimaryBus\PEV_primaryBus_E3.xml"; - protected const string PEV_E4_PrimaryBus = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\PrimaryBus\PEV_primaryBus_E4.xml"; - protected const string PEV_IEPC_PrimaryBus = - @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\PrimaryBus\IEPC_primaryBus.xml"; + protected const string Conventional_PrimaryBus = BasePath + @"PrimaryBus\Conventional_primaryBus_AMT.xml"; + protected const string Conventional_PrimaryBus_Tyres = BasePath + @"PrimaryBus\Conventional_primaryBus_AMT_DifferentTyres.xml"; + protected const string HEV_Px_IHPC_PrimaryBus = BasePath + @"PrimaryBus\HEV_primaryBus_AMT_Px.xml"; + protected const string HEV_S2_PrimaryBus = BasePath + @"PrimaryBus\HEV-S_primaryBus_AMT_S2.xml"; + protected const string HEV_S3_PrimaryBus = BasePath + @"PrimaryBus\HEV-S_primaryBus_S3.xml"; + protected const string HEV_S4_PrimaryBus = BasePath + @"PrimaryBus\HEV-S_primaryBus_S4.xml"; + protected const string HEV_IEPC_S_PrimaryBus = BasePath + @"PrimaryBus\HEV-S_primaryBus_IEPC-S.xml"; + protected const string PEV_E2_PrimaryBus = BasePath + @"PrimaryBus\PEV_primaryBus_AMT_E2.xml"; + protected const string PEV_E3_PrimaryBus = BasePath + @"PrimaryBus\PEV_primaryBus_E3.xml"; + protected const string PEV_E4_PrimaryBus = BasePath + @"PrimaryBus\PEV_primaryBus_E4.xml"; + protected const string PEV_IEPC_PrimaryBus = BasePath + @"PrimaryBus\IEPC_primaryBus.xml"; #endregion @@ -177,14 +155,14 @@ namespace VectoMockupTest } - - - [TestCase(ConventionalHeavyLorry, TestName="ConventionalHeavyLorry")] + + + [TestCase(ConventionalHeavyLorry, TestName = "ConventionalHeavyLorry")] //[TestCase(ConventionalHeavyLorry, false, TestName = "ConventionalHeavyLorryNoMockup")] [TestCase(HEV_S2_HeavyLorry, TestName = "HEV_S2_HeavyLorry")] [TestCase(HEV_S3_HeavyLorry, TestName = "HEV_S3_HeavyLorry")] - [TestCase(HEV_S3_HeavyLorry_ovc, TestName="HEV_S3_HeavyLorry_ovc")] + [TestCase(HEV_S3_HeavyLorry_ovc, TestName = "HEV_S3_HeavyLorry_ovc")] [TestCase(HEV_S4_HeavyLorry, TestName = "HEV_S4_HeavyLorry")] [TestCase(HEV_Px_HeavyLorry, TestName = "HEV_Px_HeavyLorry")] [TestCase(PEV_E2_HeavyLorry, TestName = "PEV_E2_HeavyLorry")] @@ -193,20 +171,19 @@ namespace VectoMockupTest [TestCase(PEV_E4_HeavyLorry, TestName = "PEV_E4_HeavyLorry")] [TestCase(PEV_IEPC_HeavyLorry, TestName = "PEV_IEPC_HeavyLorry")] [TestCase(HEV_IEPC_S_HeavyLorry, TestName = "HEV_IEPC_S_HeavyLorry")] - //[NonParallelizable] - - [TestCase(@"TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/MediumLorry/Conventional_mediumLorry_AMT.xml", TestName="Conventional_Medium_Lorry")] - [TestCase(@"TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/MediumLorry/HEV-S_mediumLorry_AMT_S2.xml", TestName="HEV_S2_Medium_Lorry")] - [TestCase(@"TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/MediumLorry/HEV-S_mediumLorry_IEPC-S.xml", TestName="HEV_IEPC_Medium_Lorry")] - [TestCase(@"TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/MediumLorry/HEV-S_mediumLorry_S3.xml", TestName="HEV_S3_Medium_Lorry")] - [TestCase(@"TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/MediumLorry/HEV-S_mediumLorry_S4.xml", TestName="HEV_S4_Medium_Lorry")] - [TestCase(@"TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/MediumLorry/HEV_mediumLorry_AMT_Px.xml", TestName="HEV_Px_Medium_Lorry")] - [TestCase(@"TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/MediumLorry/IEPC_mediumLorry.xml", TestName="PEV_IEPC_Medium_Lorry")] - [TestCase(@"TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/MediumLorry/PEV_mediumLorry_AMT_E2.xml", TestName="PEV_E2_Medium_Lorry")] - [TestCase(@"TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/MediumLorry/PEV_mediumLorry_AMT_E2_EM_Std.xml", TestName="PEV_E2_std_Medium_Lorry", Ignore="Segment not found")] - [TestCase(@"TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/MediumLorry/PEV_mediumLorry_APT-N_E2.xml", TestName="PEV_E2_Medium_Lorry_2")] - [TestCase(@"TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/MediumLorry/PEV_mediumLorry_E3.xml", TestName="PEV_E3_Medium_Lorry")] - [TestCase(@"TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/MediumLorry/PEV_mediumLorry_E4.xml", TestName="PEV_E4_Medium_Lorry")] + //[NonParallelizable] + [TestCase(BasePath + @"MediumLorry/Conventional_mediumLorry_AMT.xml", TestName="Conventional_Medium_Lorry")] + [TestCase(BasePath + @"MediumLorry/HEV-S_mediumLorry_AMT_S2.xml", TestName="HEV_S2_Medium_Lorry")] + [TestCase(BasePath + @"MediumLorry/HEV-S_mediumLorry_IEPC-S.xml", TestName="HEV_IEPC_Medium_Lorry")] + [TestCase(BasePath + @"MediumLorry/HEV-S_mediumLorry_S3.xml", TestName="HEV_S3_Medium_Lorry")] + [TestCase(BasePath + @"MediumLorry/HEV-S_mediumLorry_S4.xml", TestName="HEV_S4_Medium_Lorry")] + [TestCase(BasePath + @"MediumLorry/HEV_mediumLorry_AMT_Px.xml", TestName="HEV_Px_Medium_Lorry")] + [TestCase(BasePath + @"MediumLorry/IEPC_mediumLorry.xml", TestName="PEV_IEPC_Medium_Lorry")] + [TestCase(BasePath + @"MediumLorry/PEV_mediumLorry_AMT_E2.xml", TestName="PEV_E2_Medium_Lorry")] + [TestCase(BasePath + @"MediumLorry/PEV_mediumLorry_AMT_E2_EM_Std.xml", TestName="PEV_E2_std_Medium_Lorry", Ignore="Segment not found")] + [TestCase(BasePath + @"MediumLorry/PEV_mediumLorry_APT-N_E2.xml", TestName="PEV_E2_Medium_Lorry_2")] + [TestCase(BasePath + @"MediumLorry/PEV_mediumLorry_E3.xml", TestName="PEV_E3_Medium_Lorry")] + [TestCase(BasePath + @"MediumLorry/PEV_mediumLorry_E4.xml", TestName="PEV_E4_Medium_Lorry")] public void LorryMockupTest(string fileName, bool mockup = true) { @@ -258,7 +235,7 @@ namespace VectoMockupTest } - [TestCase(Conventional_InterimBus,Conventional_StageInput, TestName = "ConventionalInterimBus")] + [TestCase(Conventional_InterimBus, Conventional_StageInput, TestName = "ConventionalInterimBus")] public void InterimBusMockupTest(string vifInput, string stageInputFile) { //SimulatorFactory.MockUpRun = mockup; @@ -308,9 +285,10 @@ namespace VectoMockupTest } [TestCase(CompletedDiesel, TestName="CompletedDiesel")] + [TestCase(CompletedExempted, TestName = "CompleteExempted Bus")] + [TestCase(CompletedExemptedWithoutTPMLM, TestName = "CompletedExempted No TPMLM")] public void PrimaryAndCompletedTest(string fileName) { - var fileWriter = GetOutputFileWriter(TestContext.CurrentContext.Test.Name, fileName); var sumWriter = new SummaryDataContainer(fileWriter); var jobContainer = new JobContainer(sumWriter); @@ -321,7 +299,7 @@ namespace VectoMockupTest jobContainer.AddRuns(_simulatorFactory); jobContainer.Execute(false); jobContainer.WaitFinished(); - CheckFileExists(fileWriter, checkCif: true, checkVif: false); + CheckFileExists(fileWriter, checkCif: true, checkVif: true, checkMrf: true, checkPrimaryMrf: true); } [TestCase(InterimDiesel, TestName = "PrimaryAndInterim")] @@ -356,33 +334,55 @@ namespace VectoMockupTest bool checkPrimaryMrf = false, bool checkPrimaryReport = false) { - if (checkCif && !File.Exists(fileWriter.XMLCustomerReportName)) { - TestContext.WriteLine(fileWriter.XMLCustomerReportName + "Missing\n"); - Assert.Fail(); + if (checkCif) { + if (!File.Exists(fileWriter.XMLCustomerReportName)) { + TestContext.WriteLine(fileWriter.XMLCustomerReportName + " Missing\n"); + Assert.Fail(); + } + + MRF_CIF_WriterTestBase.Validate(XDocument.Load(fileWriter.XMLCustomerReportName), + XmlDocumentType.CustomerReport); } - if (checkMrf && !File.Exists(fileWriter.XMLFullReportName)) - { - TestContext.WriteLine(fileWriter.XMLFullReportName + "Missing\n"); - Assert.Fail(); + if (checkMrf) { + if (!File.Exists(fileWriter.XMLFullReportName)) { + TestContext.WriteLine(fileWriter.XMLFullReportName + " Missing\n"); + Assert.Fail(); + } + + MRF_CIF_WriterTestBase.Validate(XDocument.Load(fileWriter.XMLFullReportName), + XmlDocumentType.ManufacturerReport); } var primaryMrfPath = fileWriter.XMLFullReportName.Replace("RSLT_MANUFACTURER", "RSLT_MANUFACTURER_PRIMARY"); - if (checkPrimaryMrf && !File.Exists(primaryMrfPath)) { - TestContext.WriteLine(primaryMrfPath + "Missing\n"); - Assert.Fail(); + if (checkPrimaryMrf) { + if (!File.Exists(primaryMrfPath)) { + TestContext.WriteLine(primaryMrfPath + " Missing\n"); + Assert.Fail(); + } + + MRF_CIF_WriterTestBase.Validate(XDocument.Load(primaryMrfPath), XmlDocumentType.ManufacturerReport); } - if (checkPrimaryReport && !File.Exists(fileWriter.XMLPrimaryVehicleReportName)) - { - TestContext.WriteLine(fileWriter.XMLPrimaryVehicleReportName + "Missing\n"); - Assert.Fail(); + if (checkPrimaryReport) { + if (!File.Exists(fileWriter.XMLPrimaryVehicleReportName)) { + TestContext.WriteLine(fileWriter.XMLPrimaryVehicleReportName + " Missing\n"); + Assert.Fail(); + } + + MRF_CIF_WriterTestBase.Validate(XDocument.Load(fileWriter.XMLPrimaryVehicleReportName), + XmlDocumentType.MultistepOutputData); } - if (checkVif && !File.Exists(fileWriter.XMLMultistageReportFileName)) { - TestContext.WriteLine(fileWriter.XMLMultistageReportFileName + "Missing\n"); - Assert.Fail(); + if (checkVif) { + if (!File.Exists(fileWriter.XMLMultistageReportFileName)) { + TestContext.WriteLine(fileWriter.XMLMultistageReportFileName + " Missing\n"); + Assert.Fail(); + } + + MRF_CIF_WriterTestBase.Validate(XDocument.Load(fileWriter.XMLMultistageReportFileName), + XmlDocumentType.MultistepOutputData); } @@ -508,36 +508,37 @@ namespace VectoMockupTest Assert.IsTrue(MRF_CIF_WriterTestBase.ValidateAndPrint(XDocument.Load(fileWriter.XMLCustomerReportName), XmlDocumentType.CustomerReport), "CIF invalid"); } - [TestCase("TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/ExemptedVehicles/exempted_completedBus_input_full.xml", - true, - true, - false, - false, - true, - TestName="ExemptedCompletedBus1")] - [TestCase("TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/ExemptedVehicles/exempted_completedBus_input_only_mandatory_entries.xml", - true, - true, - false, - false, - false, - TestName="ExemptedCompletedBus1")] - [TestCase("TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/ExemptedVehicles/exempted_heavyLorry.xml", + private const string BasePathExempted = "TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/ExemptedVehicles/"; + + // [TestCase(BasePathExempted + "exempted_completedBus_input_full.xml", + // true, + // true, + // false, + // false, + // true, + // TestName = "ExemptedCompletedBus1")] + // [TestCase(BasePathExempted + "exempted_completedBus_input_only_mandatory_entries.xml", + //true, + //true, + //false, + //false, + //false, + //TestName="ExemptedCompletedBus2")] + [TestCase(BasePathExempted + "exempted_heavyLorry.xml", false, false, true, false, false, TestName="ExemptedHeavyLorry")] - [TestCase("TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/ExemptedVehicles/exempted_mediumLorry.xml", - + [TestCase(BasePathExempted + "exempted_mediumLorry.xml", false, true, true, false, false, TestName="ExemptedMediumLorry")] - [TestCase("TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/ExemptedVehicles/exempted_primaryBus.xml", + [TestCase(BasePathExempted + "exempted_primaryBus.xml", false, false, true, @@ -565,8 +566,17 @@ namespace VectoMockupTest checkMrf:checkMrf, checkPrimaryMrf:checkPrimaryMrf, checkPrimaryReport:checkPrimaryReport); - if(checkMrf) Assert.IsTrue(MRF_CIF_WriterTestBase.ValidateAndPrint(XDocument.Load(fileWriter.XMLFullReportName), XmlDocumentType.ManufacturerReport), "MRF invalid"); - if(checkCif) Assert.IsTrue(MRF_CIF_WriterTestBase.ValidateAndPrint(XDocument.Load(fileWriter.XMLCustomerReportName), XmlDocumentType.CustomerReport), "CIF invalid"); + if (checkMrf) Assert.IsTrue(MRF_CIF_WriterTestBase.ValidateAndPrint(XDocument.Load(fileWriter.XMLFullReportName), XmlDocumentType.ManufacturerReport), "MRF invalid"); + if (checkPrimaryReport) Assert.IsTrue(MRF_CIF_WriterTestBase.ValidateAndPrint(XDocument.Load(fileWriter.XMLPrimaryVehicleReportName), XmlDocumentType.MultistepOutputData), "VIF invalid"); + if (checkCif) Assert.IsTrue(MRF_CIF_WriterTestBase.ValidateAndPrint(XDocument.Load(fileWriter.XMLCustomerReportName), XmlDocumentType.CustomerReport), "CIF invalid"); + } + + public void ExemptedCompleteBusTest() + { + var primaryInput = BasePathExempted + "exempted_primaryBus.xml"; + var completeInput = BasePathExempted + "exempted_completedBus_input_full.xml"; + + } } }