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

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

added optional entries for exempted vehicles

parent 954719f4
No related branches found
No related tags found
No related merge requests found
...@@ -1152,8 +1152,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider ...@@ -1152,8 +1152,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
get get
{ {
return ElementExists(XMLNames.Bus_LegislativeCategory) return ElementExists(XMLNames.Bus_LegislativeCategory)
? GetString(XMLNames.Bus_LegislativeCategory).ParseEnum<LegislativeClass?>() ? GetString(XMLNames.Bus_LegislativeCategory).ParseEnum<LegislativeClass>()
: null; : (LegislativeClass?)null;
} }
} }
...@@ -1192,7 +1192,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider ...@@ -1192,7 +1192,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
{ {
return ElementExists(XMLNames.Vehicle_RegisteredClass) return ElementExists(XMLNames.Vehicle_RegisteredClass)
? RegistrationClassHelper.Parse(GetString(XMLNames.Vehicle_RegisteredClass)).First() ? RegistrationClassHelper.Parse(GetString(XMLNames.Vehicle_RegisteredClass)).First()
: (RegistrationClass?)null; : null;
} }
} }
...@@ -1231,10 +1231,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider ...@@ -1231,10 +1231,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
public override VehicleCode? VehicleCode public override VehicleCode? VehicleCode
{ {
get { get
{
return ElementExists(XMLNames.Vehicle_VehicleCode) return ElementExists(XMLNames.Vehicle_VehicleCode)
? GetString(XMLNames.Vehicle_VehicleCode).ParseEnum<VehicleCode>() ? GetString(XMLNames.Vehicle_VehicleCode).ParseEnum<VehicleCode>()
: (VehicleCode?)null; } : (VehicleCode?)null;
}
} }
public override bool? LowEntry public override bool? LowEntry
...@@ -1378,31 +1380,63 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider ...@@ -1378,31 +1380,63 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
public XMLDeclarationExemptedInterimStageBusDataProviderV28(IXMLDeclarationJobInputData jobData, public XMLDeclarationExemptedInterimStageBusDataProviderV28(IXMLDeclarationJobInputData jobData,
XmlNode xmlNode, string sourceFile) XmlNode xmlNode, string sourceFile)
: base(jobData, xmlNode, sourceFile) {} : base(jobData, xmlNode, sourceFile) {}
public override string Model
{
get
{
return ElementExists(XMLNames.Component_Model)
? GetString(XMLNames.Component_Model) : null;
}
}
public override LegislativeClass? LegislativeClass public override LegislativeClass? LegislativeClass
{ {
get { return GetString(XMLNames.Bus_LegislativeCategory).ParseEnum<LegislativeClass>(); } get
{
return ElementExists(XMLNames.Bus_LegislativeCategory)
? GetString(XMLNames.Bus_LegislativeCategory).ParseEnum<LegislativeClass>()
: (LegislativeClass?)null;
}
} }
public override Kilogram CurbMassChassis public override Kilogram CurbMassChassis
{ {
get { return GetDouble(XMLNames.Bus_CorrectedActualMass).SI<Kilogram>(); } get
{
return ElementExists(XMLNames.Bus_CorrectedActualMass)
? GetDouble(XMLNames.Bus_CorrectedActualMass).SI<Kilogram>()
: null;
}
} }
public override Kilogram GrossVehicleMassRating public override Kilogram GrossVehicleMassRating
{ {
get { return GetDouble(XMLNames.Vehicle_TPMLM).SI<Kilogram>(); } get
{
return ElementExists(XMLNames.Vehicle_TPMLM)
? GetDouble(XMLNames.Vehicle_TPMLM).SI<Kilogram>()
: null;
}
} }
public override RegistrationClass? RegisteredClass public override RegistrationClass? RegisteredClass
{ {
get { return RegistrationClassHelper.Parse(GetString(XMLNames.Vehicle_RegisteredClass)).First(); } get
{
return ElementExists(XMLNames.Vehicle_RegisteredClass)
? RegistrationClassHelper.Parse(GetString(XMLNames.Vehicle_RegisteredClass)).First()
: null;
}
} }
public override int NumberOfPassengersLowerDeck public override int NumberOfPassengersLowerDeck
{ {
get get
{ {
if (!ElementExists(XMLNames.Bus_NumberPassengersLowerDeck))
return 0;
var node = GetNode(XMLNames.Bus_NumberPassengersLowerDeck); var node = GetNode(XMLNames.Bus_NumberPassengersLowerDeck);
return XmlConvert.ToInt32(node.InnerText); return XmlConvert.ToInt32(node.InnerText);
} }
...@@ -1412,6 +1446,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider ...@@ -1412,6 +1446,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
{ {
get get
{ {
if (!ElementExists(XMLNames.Bus_NumberPassengersUpperDeck))
return 0;
var node = GetNode(XMLNames.Bus_NumberPassengersUpperDeck); var node = GetNode(XMLNames.Bus_NumberPassengersUpperDeck);
return XmlConvert.ToInt32(node.InnerText); return XmlConvert.ToInt32(node.InnerText);
} }
...@@ -1419,17 +1455,32 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider ...@@ -1419,17 +1455,32 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
public override VehicleCode? VehicleCode public override VehicleCode? VehicleCode
{ {
get { return GetString(XMLNames.Vehicle_VehicleCode).ParseEnum<VehicleCode>(); } get
{
return ElementExists(XMLNames.Vehicle_VehicleCode)
? GetString(XMLNames.Vehicle_VehicleCode).ParseEnum<VehicleCode>()
: (VehicleCode?)null;
}
} }
public override bool? LowEntry public override bool? LowEntry
{ {
get { return GetBool(XMLNames.Bus_LowEntry); } get
{
return ElementExists(XMLNames.Bus_LowEntry)
? GetBool(XMLNames.Bus_LowEntry)
: (bool?)null;
}
} }
public override Meter Height public override Meter Height
{ {
get { return GetDouble(XMLNames.Bus_HeighIntegratedBody).SI<Meter>(); } get
{
return ElementExists(XMLNames.Bus_HeighIntegratedBody)
? GetDouble(XMLNames.Bus_HeighIntegratedBody).SI<Meter>()
: null;
}
} }
public override XmlElement PTONode public override XmlElement PTONode
......
...@@ -14,9 +14,12 @@ namespace TUGraz.VectoCore.Tests.XML ...@@ -14,9 +14,12 @@ namespace TUGraz.VectoCore.Tests.XML
{ {
protected IXMLInputDataReader xmlInputReader; protected IXMLInputDataReader xmlInputReader;
private IKernel _kernel; private IKernel _kernel;
const string DirPath = @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.8\";
const string VehicleInterimStageInput = DirPath + "vecto_vehicle-stage_input_full-sample.xml";
const string VehicleExemptedInterimStageInput = DirPath + "vecto_vehicle-exempted_input_full-sample.xml";
const string VehicleExemptedMandatoryOnly = DirPath + "vecto_vehicle-exempted_input_only_mandatory_entries.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] [OneTimeSetUp]
public void RunBeforeAnyTests() public void RunBeforeAnyTests()
...@@ -140,5 +143,31 @@ namespace TUGraz.VectoCore.Tests.XML ...@@ -140,5 +143,31 @@ namespace TUGraz.VectoCore.Tests.XML
Assert.AreEqual(true, vehicle.LowEntry); Assert.AreEqual(true, vehicle.LowEntry);
Assert.AreEqual(2500, vehicle.Height.Value()); Assert.AreEqual(2500, vehicle.Height.Value());
} }
[TestCase]
public void TestVehicleExemptedMandatoryInput()
{
var reader = XmlReader.Create(VehicleExemptedMandatoryOnly);
var inputDataProvider = xmlInputReader.CreateDeclaration(reader);
var vehicle = inputDataProvider.JobInputData.Vehicle;
Assert.AreEqual("VEH-1234567890", vehicle.Identifier);
Assert.AreEqual("Some Manufacturer 3", vehicle.Manufacturer);
Assert.AreEqual("Some Manufacturer Address 3", vehicle.ManufacturerAddress);
Assert.AreEqual("VEH-1234567891", vehicle.VIN);
Assert.AreEqual(DateTime.Parse("2021-01-09T11:00:00Z").ToUniversalTime(), vehicle.Date);
Assert.AreEqual(null, vehicle.Model);
Assert.AreEqual(null, vehicle.LegislativeClass);
Assert.AreEqual(null, vehicle.CurbMassChassis);
Assert.AreEqual(null, vehicle.GrossVehicleMassRating);
Assert.AreEqual(null, vehicle.RegisteredClass);
Assert.AreEqual(0, vehicle.NumberOfPassengersLowerDeck);
Assert.AreEqual(0, vehicle.NumberOfPassengersUpperDeck);
Assert.AreEqual(null, vehicle.VehicleCode);
Assert.AreEqual(null, vehicle.LowEntry);
Assert.AreEqual(null, vehicle.Height);
Assert.AreEqual(null, vehicle.Components);
}
} }
} }
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