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

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

added exempted interim stage input reader with test and minor refactoring

parent 72a803aa
No related branches found
No related tags found
No related merge requests found
......@@ -1118,21 +1118,18 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
}
}
// ---------------------------------------------------------------------------------------
public class XMLDeclarationInterimStageBusDataProviderV28 : XMLDeclarationVehicleDataProviderV20
{
public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V28;
public new const string XSD_TYPE = "InterimStageInputType";
public new static readonly string QUALIFIED_XSD_TYPE =
XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
private IAdvancedDriverAssistantSystemDeclarationInputData _adas;
public XMLDeclarationInterimStageBusDataProviderV28(
IXMLDeclarationJobInputData jobData, XmlNode xmlNode, string sourceFile) : base(jobData, xmlNode, sourceFile)
{
......@@ -1143,7 +1140,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
{
get { return null; }
}
public override LegislativeClass LegislativeClass
{
......@@ -1162,22 +1158,14 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
public override bool AirdragModifiedMultistage
{
get
{
return GetBool(XMLNames.Bus_AirdragModifiedMultistage);
}
get { return GetBool(XMLNames.Bus_AirdragModifiedMultistage); }
}
public override RegistrationClass RegisteredClass
{
get
{
return RegistrationClassHelper.Parse(GetString(XMLNames.Vehicle_RegisteredClass)).First();
}
get { return RegistrationClassHelper.Parse(GetString(XMLNames.Vehicle_RegisteredClass)).First(); }
}
public override int NumberOfPassengersLowerDeck
{
get
......@@ -1198,10 +1186,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
public override VehicleCode VehicleCode
{
get
{
return GetString(XMLNames.Vehicle_VehicleCode).ParseEnum<VehicleCode>();
}
get { return GetString(XMLNames.Vehicle_VehicleCode).ParseEnum<VehicleCode>(); }
}
public override bool LowEntry
......@@ -1211,34 +1196,22 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
public override Meter Height
{
get
{
return GetDouble(XMLNames.Bus_HeighIntegratedBody).SI<Meter>();
}
get { return GetDouble(XMLNames.Bus_HeighIntegratedBody).SI<Meter>(); }
}
public override Meter Length
{
get
{
return GetDouble(XMLNames.Bus_VehicleLength).SI<Meter>();
}
get { return GetDouble(XMLNames.Bus_VehicleLength).SI<Meter>(); }
}
public override Meter Width
{
get
{
return GetDouble(XMLNames.Bus_VehicleWidth).SI<Meter>();
}
get { return GetDouble(XMLNames.Bus_VehicleWidth).SI<Meter>();}
}
public override Meter EntranceHeight
{
get
{
return GetDouble(XMLNames.Bus_EntranceHeight).SI<Meter>();
}
get { return GetDouble(XMLNames.Bus_EntranceHeight).SI<Meter>(); }
}
public override ConsumerTechnology DoorDriveTechnology
......@@ -1252,13 +1225,100 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
}
public override StateOfCompletion StateOfCompletion
{
get { return StateOfCompletionHelper.Parse(GetString(XMLNames.Bus_StateOfCompletion)); }
}
protected override DataSourceType SourceType { get; }
#region Overrides of AbstractXMLResource
protected override XNamespace SchemaNamespace
{
get { return NAMESPACE_URI; }
}
#endregion
}
// ---------------------------------------------------------------------------------------
public class XMLDeclarationExemptedInterimStageBusDataProviderV28 : XMLDeclarationVehicleDataProviderV20
{
public new static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V28;
public new const string XSD_TYPE = "ExemptedInterimStageInputType";
public new static readonly string QUALIFIED_XSD_TYPE =
XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
public XMLDeclarationExemptedInterimStageBusDataProviderV28(IXMLDeclarationJobInputData jobData,
XmlNode xmlNode, string sourceFile)
: base(jobData, xmlNode, sourceFile)
{
SourceType = DataSourceType.XMLEmbedded;
}
public override LegislativeClass LegislativeClass
{
get { return GetString(XMLNames.Bus_LegislativeCategory).ParseEnum<LegislativeClass>(); }
}
public override Kilogram CurbMassChassis
{
get { return GetDouble(XMLNames.Bus_CorrectedActualMass).SI<Kilogram>(); }
}
public override Kilogram GrossVehicleMassRating
{
get { return GetDouble(XMLNames.Vehicle_TPMLM).SI<Kilogram>(); }
}
public override RegistrationClass RegisteredClass
{
get { return RegistrationClassHelper.Parse(GetString(XMLNames.Vehicle_RegisteredClass)).First(); }
}
public override int NumberOfPassengersLowerDeck
{
get
{
return StateOfCompletionHelper.Parse(GetString(XMLNames.Bus_StateOfCompletion));
var node = GetNode(XMLNames.Bus_NumberPassengersLowerDeck);
return XmlConvert.ToInt32(node.InnerText);
}
}
public override int NumberOfPassengersUpperDeck
{
get
{
var node = GetNode(XMLNames.Bus_NumberPassengersUpperDeck);
return XmlConvert.ToInt32(node.InnerText);
}
}
public override VehicleCode VehicleCode
{
get { return GetString(XMLNames.Vehicle_VehicleCode).ParseEnum<VehicleCode>(); }
}
public override bool LowEntry
{
get { return GetBool(XMLNames.Bus_LowEntry); }
}
public override Meter Height
{
get { return GetDouble(XMLNames.Bus_HeighIntegratedBody).SI<Meter>(); }
}
public override XmlElement PTONode
{
get { return null; }
}
public override XmlElement ComponentNode { get{ return null; }}
protected override DataSourceType SourceType { get; }
#region Overrides of AbstractXMLResource
......@@ -1267,9 +1327,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
{
get { return NAMESPACE_URI; }
}
#endregion
#endregion
}
}
......
......@@ -14,7 +14,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules
{
Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationInterimStageBusDataProviderV28>()
.Named(XMLDeclarationInterimStageBusDataProviderV28.QUALIFIED_XSD_TYPE);
Bind<IXMLDeclarationVehicleData>().To<XMLDeclarationExemptedInterimStageBusDataProviderV28>()
.Named(XMLDeclarationExemptedInterimStageBusDataProviderV28.QUALIFIED_XSD_TYPE);
Bind<IXMLVehicleComponentsDeclaration>().To<XMLDeclarationInterimStageBusComponentsDataProviderV28>()
.Named(XMLDeclarationInterimStageBusComponentsDataProviderV28.QUALIFIED_XSD_TYPE);
......
......@@ -15,8 +15,8 @@ namespace TUGraz.VectoCore.Tests.XML
protected IXMLInputDataReader xmlInputReader;
private IKernel _kernel;
const string VehicleStageInput = @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.8\vecto_vehicle-stage_input_full-sample.xml";
const string VehicleInterimStageInput = @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.8\vecto_vehicle-stage_input_full-sample.xml";
const string VehicleExemptedInterimStageInput = @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.8\vecto_vehicle-exempted_input_full-sample.xml";
[OneTimeSetUp]
public void RunBeforeAnyTests()
......@@ -28,9 +28,9 @@ namespace TUGraz.VectoCore.Tests.XML
}
[TestCase]
public void TestVehicleStageInput()
public void TestVehicleInterimStageInput()
{
var reader = XmlReader.Create(VehicleStageInput);
var reader = XmlReader.Create(VehicleInterimStageInput);
var inputDataProvider = xmlInputReader.CreateDeclaration(reader);
var vehicle = inputDataProvider.JobInputData.Vehicle;
......@@ -41,7 +41,7 @@ namespace TUGraz.VectoCore.Tests.XML
Assert.AreEqual(DateTime.Parse("2020-01-09T11:00:00Z").ToUniversalTime(), vehicle.Date);
Assert.AreEqual("Sample Bus Model", vehicle.Model);
Assert.AreEqual(LegislativeClass.M3, vehicle.LegislativeClass);
Assert.AreEqual(500, vehicle.CurbMassChassis.Value());//CurbMassChassis
Assert.AreEqual(500, vehicle.CurbMassChassis.Value());//CorrectedActualMass
Assert.AreEqual(3500, vehicle.GrossVehicleMassRating.Value());//TechnicalPermissibleMaximumLadenMass
Assert.AreEqual(false, vehicle.AirdragModifiedMultistage);
Assert.AreEqual(TankSystem.Compressed, vehicle.TankSystem);//NgTankSystem
......@@ -115,5 +115,30 @@ namespace TUGraz.VectoCore.Tests.XML
Assert.AreEqual(false, hvacAux.AirElectricHeater);
Assert.AreEqual(false, hvacAux.OtherHeatingTechnology);
}
[TestCase]
public void TestVehicleExemptedInterimStageInput()
{
var reader = XmlReader.Create(VehicleExemptedInterimStageInput);
var inputDataProvider = xmlInputReader.CreateDeclaration(reader);
var vehicle = inputDataProvider.JobInputData.Vehicle;
Assert.AreEqual("VEH-1234567890", vehicle.Identifier);
Assert.AreEqual("Some Manufacturer", vehicle.Manufacturer);
Assert.AreEqual("Infinite Loop", vehicle.ManufacturerAddress);
Assert.AreEqual("VEH-1234567891", vehicle.VIN);
Assert.AreEqual(DateTime.Parse("2021-01-09T11:00:00Z").ToUniversalTime(), vehicle.Date);
Assert.AreEqual("Sample Bus Model 2", vehicle.Model);
Assert.AreEqual(LegislativeClass.M3, vehicle.LegislativeClass);
Assert.AreEqual(7000, vehicle.CurbMassChassis.Value());//CorrectedActualMass
Assert.AreEqual(10000, vehicle.GrossVehicleMassRating.Value());//TechnicalPermissibleMaximumLadenMass
Assert.AreEqual(RegistrationClass.A, vehicle.RegisteredClass);//ClassBus
Assert.AreEqual(10, vehicle.NumberOfPassengersLowerDeck);
Assert.AreEqual(20, vehicle.NumberOfPassengersUpperDeck);
Assert.AreEqual(VehicleCode.CC, vehicle.VehicleCode);
Assert.AreEqual(true, vehicle.LowEntry);
Assert.AreEqual(2500, vehicle.Height.Value());
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment