From 234d6bc8c87a5351084dad085d169791f0e314e6 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Wed, 5 Jul 2017 14:50:40 +0200 Subject: [PATCH] update testdata --- .../Integration/FuelTypesTest.cs | 13 +- .../DeclarationDataAdapterTest_Class2.cs | 240 ++++++------- .../Models/Declaration/DeclarationDataTest.cs | 14 +- VectoCore/VectoCoreTest/XML/XMLWritingTest.cs | 316 +++++++++--------- 4 files changed, 294 insertions(+), 289 deletions(-) diff --git a/VectoCore/VectoCoreTest/Integration/FuelTypesTest.cs b/VectoCore/VectoCoreTest/Integration/FuelTypesTest.cs index e5ad5808e8..4ef4625d9a 100644 --- a/VectoCore/VectoCoreTest/Integration/FuelTypesTest.cs +++ b/VectoCore/VectoCoreTest/Integration/FuelTypesTest.cs @@ -43,16 +43,16 @@ namespace TUGraz.VectoCore.Tests.Integration public class FuelTypesTest { [TestCase(FuelType.DieselCI, - @"TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2\Class2_RigidTruck_DECL.vecto", 0, 0.0006886, 9394.4751, + @"TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2\Class2_RigidTruck_DECL.vecto", 0, 0.0006886, 9392.6020, TestName = "Diesel LH Low"), TestCase(FuelType.EthanolCI, - @"TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2\Class2_RigidTruck_DECL.vecto", 0, 0.00040262, 5588.282, + @"TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2\Class2_RigidTruck_DECL.vecto", 0, 0.00040262, 5587.1684, TestName = "Ethanol LH Low"), TestCase(FuelType.DieselCI, - @"TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2\Class2_RigidTruck_DECL.vecto", 1, 0.0007971, 10875.0171, + @"TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2\Class2_RigidTruck_DECL.vecto", 1, 0.0007971, 10871.1489, TestName = "Diesel LH Ref"), TestCase(FuelType.EthanolCI, - @"TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2\Class2_RigidTruck_DECL.vecto", 1, 0.0004660, 6468.9797, + @"TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2\Class2_RigidTruck_DECL.vecto", 1, 0.0004660, 6466.6787, TestName = "Ethanol LH Ref"),] public void TestFuelTypesCO2(FuelType fuelType, string jobName, int runIdx, double expectedCo2, double expectedMJ) { @@ -63,7 +63,10 @@ namespace TUGraz.VectoCore.Tests.Integration var jobContainer = new JobContainer(sumData); var inputData = JSONInputDataFactory.ReadJsonJob(jobName); - var runsFactory = new SimulatorFactory(ExecutionMode.Declaration, inputData, fileWriter) { WriteModalResults = true, Validate = false}; + var runsFactory = new SimulatorFactory(ExecutionMode.Declaration, inputData, fileWriter) { + WriteModalResults = true, + Validate = false + }; jobContainer.AddRuns(runsFactory); diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DataAdapter/DeclarationDataAdapterTest_Class2.cs b/VectoCore/VectoCoreTest/Models/Declaration/DataAdapter/DeclarationDataAdapterTest_Class2.cs index 46a595b612..d49e921435 100644 --- a/VectoCore/VectoCoreTest/Models/Declaration/DataAdapter/DeclarationDataAdapterTest_Class2.cs +++ b/VectoCore/VectoCoreTest/Models/Declaration/DataAdapter/DeclarationDataAdapterTest_Class2.cs @@ -29,124 +29,124 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using System.Linq; -using NUnit.Framework; -using TUGraz.VectoCommon.InputData; -using TUGraz.VectoCommon.Models; -using TUGraz.VectoCore.InputData.FileIO.JSON; -using TUGraz.VectoCore.InputData.Reader.Impl; -using TUGraz.VectoCore.Models.Declaration; -using TUGraz.VectoCore.Models.SimulationComponent.Data; -using Assert = Microsoft.VisualStudio.TestTools.UnitTesting.Assert; - -namespace TUGraz.VectoCore.Tests.Models.Declaration.DataAdapter -{ - [TestFixture] - public class DeclarationDataAdapterTest_Class2 - { - public const string Class2RigidTruckNoEMSJob = - @"TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2\Class2_RigidTruck_DECL.vecto"; - - public const int CurbWeight = 4670; - public const double CdxA = 4.83; - - [TestCase(Class2RigidTruckNoEMSJob, 0)] - public void TestClass2_Vehicle_LongHaul_LowLoad(string file, int runIdx) - { - var runData = DeclarationAdapterTestHelper.CreateVectoRunData(file); - - Assert.AreEqual(6, runData.Length); - - // long haul, min load - DeclarationAdapterTestHelper.AssertVehicleData(runData[runIdx].VehicleData, runData[runIdx].AirdragData, - vehicleCategory: VehicleCategory.RigidTruck, - vehicleClass: VehicleClass.Class2, - axleConfiguration: AxleConfiguration.AxleConfig_4x2, - wheelsInertia: 57, - totalVehicleWeight: CurbWeight + 1900 + 3400 + 603.917 + 710, - totalRollResistance: 0.006954, - aerodynamicDragArea: CdxA + 1.3); - } - - [TestCase(Class2RigidTruckNoEMSJob, 1)] - public void TestClass2_Vehicle_LongHaul_RefLoad(string file, int runIdx) - { - var runData = DeclarationAdapterTestHelper.CreateVectoRunData(file); - - // long haul, ref load - DeclarationAdapterTestHelper.AssertVehicleData(runData[runIdx].VehicleData, runData[runIdx].AirdragData, - vehicleCategory: VehicleCategory.RigidTruck, - vehicleClass: VehicleClass.Class2, - axleConfiguration: AxleConfiguration.AxleConfig_4x2, - wheelsInertia: 57, - totalVehicleWeight: CurbWeight + 1900 + 3400 + 4541.176 + 5325, - totalRollResistance: 0.0065733, - aerodynamicDragArea: CdxA + 1.3); - } - - - [TestCase(Class2RigidTruckNoEMSJob, 2)] - public void TestClass2_Vehicle_RegionalDel_LowLoad(string file, int runIdx) - { - var runData = DeclarationAdapterTestHelper.CreateVectoRunData(file); - - // regional del., min load - DeclarationAdapterTestHelper.AssertVehicleData(runData[runIdx].VehicleData, runData[runIdx].AirdragData, - vehicleCategory: VehicleCategory.RigidTruck, - vehicleClass: VehicleClass.Class2, - axleConfiguration: AxleConfiguration.AxleConfig_4x2, - wheelsInertia: 39, - totalVehicleWeight: CurbWeight + 1900 + 603.917, - totalRollResistance: 0.007461, - aerodynamicDragArea: CdxA); - } - - [TestCase(Class2RigidTruckNoEMSJob, 3)] - public void TestClass2_Vehicle_RegionalDel_RefLoad(string file, int runIdx) - { - var runData = DeclarationAdapterTestHelper.CreateVectoRunData(file); - - // regional del., ref load - DeclarationAdapterTestHelper.AssertVehicleData(runData[runIdx].VehicleData, runData[runIdx].AirdragData, - vehicleCategory: VehicleCategory.RigidTruck, - vehicleClass: VehicleClass.Class2, - axleConfiguration: AxleConfiguration.AxleConfig_4x2, - wheelsInertia: 39, - totalVehicleWeight: CurbWeight + 1900 + 3019.588, - totalRollResistance: 0.007248, - aerodynamicDragArea: CdxA); - } - - - [TestCase(Class2RigidTruckNoEMSJob, 4)] - public void TestClass2_Vehicle_UrbanDel_LowLoad(string file, int runIdx) - { - var runData = DeclarationAdapterTestHelper.CreateVectoRunData(file); - // municipal, min load - DeclarationAdapterTestHelper.AssertVehicleData(runData[runIdx].VehicleData, runData[runIdx].AirdragData, - vehicleCategory: VehicleCategory.RigidTruck, - vehicleClass: VehicleClass.Class2, - axleConfiguration: AxleConfiguration.AxleConfig_4x2, - wheelsInertia: 39, - totalVehicleWeight: CurbWeight + 1900 + 603.917, - totalRollResistance: 0.007461, - aerodynamicDragArea: CdxA); - } - - [TestCase(Class2RigidTruckNoEMSJob, 5)] - public void TestClass2_Vehicle_UrbanDel_RefLoad(string file, int runIdx) - { - var runData = DeclarationAdapterTestHelper.CreateVectoRunData(file); - - // municipal, min load - DeclarationAdapterTestHelper.AssertVehicleData(runData[runIdx].VehicleData, runData[runIdx].AirdragData, - vehicleCategory: VehicleCategory.RigidTruck, - vehicleClass: VehicleClass.Class2, - axleConfiguration: AxleConfiguration.AxleConfig_4x2, - wheelsInertia: 39, - totalVehicleWeight: CurbWeight + 1900 + 3019.588, - totalRollResistance: 0.007248, - aerodynamicDragArea: CdxA); - } - } +using System.Linq; +using NUnit.Framework; +using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCore.InputData.FileIO.JSON; +using TUGraz.VectoCore.InputData.Reader.Impl; +using TUGraz.VectoCore.Models.Declaration; +using TUGraz.VectoCore.Models.SimulationComponent.Data; +using Assert = Microsoft.VisualStudio.TestTools.UnitTesting.Assert; + +namespace TUGraz.VectoCore.Tests.Models.Declaration.DataAdapter +{ + [TestFixture] + public class DeclarationDataAdapterTest_Class2 + { + public const string Class2RigidTruckNoEMSJob = + @"TestData\Integration\DeclarationMode\Class2_RigidTruck_4x2\Class2_RigidTruck_DECL.vecto"; + + public const int CurbWeight = 4670; + public const double CdxA = 4.83; + + [TestCase(Class2RigidTruckNoEMSJob, 0)] + public void TestClass2_Vehicle_LongHaul_LowLoad(string file, int runIdx) + { + var runData = DeclarationAdapterTestHelper.CreateVectoRunData(file); + + Assert.AreEqual(6, runData.Length); + + // long haul, min load + DeclarationAdapterTestHelper.AssertVehicleData(runData[runIdx].VehicleData, runData[runIdx].AirdragData, + vehicleCategory: VehicleCategory.RigidTruck, + vehicleClass: VehicleClass.Class2, + axleConfiguration: AxleConfiguration.AxleConfig_4x2, + wheelsInertia: 57, + totalVehicleWeight: CurbWeight + 1900 + 3400 + 603.917 + 700, + totalRollResistance: 0.0069554, + aerodynamicDragArea: CdxA + 1.3); + } + + [TestCase(Class2RigidTruckNoEMSJob, 1)] + public void TestClass2_Vehicle_LongHaul_RefLoad(string file, int runIdx) + { + var runData = DeclarationAdapterTestHelper.CreateVectoRunData(file); + + // long haul, ref load + DeclarationAdapterTestHelper.AssertVehicleData(runData[runIdx].VehicleData, runData[runIdx].AirdragData, + vehicleCategory: VehicleCategory.RigidTruck, + vehicleClass: VehicleClass.Class2, + axleConfiguration: AxleConfiguration.AxleConfig_4x2, + wheelsInertia: 57, + totalVehicleWeight: CurbWeight + 1900 + 3400 + 4541.176 + 5300, + totalRollResistance: 0.0065733, + aerodynamicDragArea: CdxA + 1.3); + } + + + [TestCase(Class2RigidTruckNoEMSJob, 2)] + public void TestClass2_Vehicle_RegionalDel_LowLoad(string file, int runIdx) + { + var runData = DeclarationAdapterTestHelper.CreateVectoRunData(file); + + // regional del., min load + DeclarationAdapterTestHelper.AssertVehicleData(runData[runIdx].VehicleData, runData[runIdx].AirdragData, + vehicleCategory: VehicleCategory.RigidTruck, + vehicleClass: VehicleClass.Class2, + axleConfiguration: AxleConfiguration.AxleConfig_4x2, + wheelsInertia: 39, + totalVehicleWeight: CurbWeight + 1900 + 603.917, + totalRollResistance: 0.007461, + aerodynamicDragArea: CdxA); + } + + [TestCase(Class2RigidTruckNoEMSJob, 3)] + public void TestClass2_Vehicle_RegionalDel_RefLoad(string file, int runIdx) + { + var runData = DeclarationAdapterTestHelper.CreateVectoRunData(file); + + // regional del., ref load + DeclarationAdapterTestHelper.AssertVehicleData(runData[runIdx].VehicleData, runData[runIdx].AirdragData, + vehicleCategory: VehicleCategory.RigidTruck, + vehicleClass: VehicleClass.Class2, + axleConfiguration: AxleConfiguration.AxleConfig_4x2, + wheelsInertia: 39, + totalVehicleWeight: CurbWeight + 1900 + 3019.588, + totalRollResistance: 0.007248, + aerodynamicDragArea: CdxA); + } + + + [TestCase(Class2RigidTruckNoEMSJob, 4)] + public void TestClass2_Vehicle_UrbanDel_LowLoad(string file, int runIdx) + { + var runData = DeclarationAdapterTestHelper.CreateVectoRunData(file); + // municipal, min load + DeclarationAdapterTestHelper.AssertVehicleData(runData[runIdx].VehicleData, runData[runIdx].AirdragData, + vehicleCategory: VehicleCategory.RigidTruck, + vehicleClass: VehicleClass.Class2, + axleConfiguration: AxleConfiguration.AxleConfig_4x2, + wheelsInertia: 39, + totalVehicleWeight: CurbWeight + 1900 + 603.917, + totalRollResistance: 0.007461, + aerodynamicDragArea: CdxA); + } + + [TestCase(Class2RigidTruckNoEMSJob, 5)] + public void TestClass2_Vehicle_UrbanDel_RefLoad(string file, int runIdx) + { + var runData = DeclarationAdapterTestHelper.CreateVectoRunData(file); + + // municipal, min load + DeclarationAdapterTestHelper.AssertVehicleData(runData[runIdx].VehicleData, runData[runIdx].AirdragData, + vehicleCategory: VehicleCategory.RigidTruck, + vehicleClass: VehicleClass.Class2, + axleConfiguration: AxleConfiguration.AxleConfig_4x2, + wheelsInertia: 39, + totalVehicleWeight: CurbWeight + 1900 + 3019.588, + totalRollResistance: 0.007248, + aerodynamicDragArea: CdxA); + } + } } \ No newline at end of file diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs index 239fea37bb..2cbefe1095 100644 --- a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs +++ b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs @@ -296,7 +296,8 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration TestCase(MissionType.Construction, "Standard technology - LED headlights, all", 950, 0.7),] public void AuxElectricSystemTest(MissionType mission, string technology, double value, double efficiency) { - AssertHelper.AreRelativeEqual(value / efficiency, DeclarationData.ElectricSystem.Lookup(mission, technology).PowerDemand.Value()); + AssertHelper.AreRelativeEqual(value / efficiency, + DeclarationData.ElectricSystem.Lookup(mission, technology).PowerDemand.Value()); } [TestCase(MissionType.Interurban, "Standard technology"), @@ -373,7 +374,8 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration for (var i = 0; i < expected.Length; i++) { if (expected[i] > 0) { AssertHelper.AreRelativeEqual(expected[i], - DeclarationData.HeatingVentilationAirConditioning.Lookup(_missions[i], "Default", vehicleClass).PowerDemand.Value()); + DeclarationData.HeatingVentilationAirConditioning.Lookup(_missions[i], "Default", vehicleClass) + .PowerDemand.Value()); } else { var i1 = i; AssertHelper.Exception<VectoException>( @@ -796,8 +798,8 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration bodyCurbWeight: 1900, trailerCurbWeight: new[] { 3400.0 }, trailerType: new[] { TrailerType.T1 }, - lowLoad: 1306.8235, - refLoad: 9475, + lowLoad: 1296.8235, + refLoad: 9450, trailerGrossVehicleWeight: new[] { 10500.0 }, deltaCdA: 1.3, maxLoad: 11250); @@ -869,8 +871,8 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration bodyCurbWeight: 1900, trailerCurbWeight: new[] { 3400.0 }, trailerType: new[] { TrailerType.T1 }, - lowLoad: 1300, - refLoad: 5915, + lowLoad: 1290, + refLoad: 5890, trailerGrossVehicleWeight: new[] { 10500.0 }, deltaCdA: 1.3, maxLoad: 7690); diff --git a/VectoCore/VectoCoreTest/XML/XMLWritingTest.cs b/VectoCore/VectoCoreTest/XML/XMLWritingTest.cs index 1f4d70c072..5b200959db 100644 --- a/VectoCore/VectoCoreTest/XML/XMLWritingTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLWritingTest.cs @@ -29,162 +29,162 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using System.IO; -using System.Xml; -using Microsoft.VisualStudio.TestTools.UnitTesting; -using TUGraz.IVT.VectoXML.Writer; -using TUGraz.VectoCommon.InputData; -using TUGraz.VectoCore.InputData.FileIO.JSON; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration; -using TUGraz.VectoCore.InputData.FileIO.XML.Engineering; -using TUGraz.VectoCore.OutputData.XML; - -namespace TUGraz.VectoCore.Tests.XML -{ - [TestClass] - public class XMLWritingTests - { - const string EngineOnlyJob = @"TestData\XML\EngineOnlyJob\EngineOnly.vecto"; - const string EngineeringJob = @"TestData\XML\EngineeringJob\Class5_Tractor_4x2\Class5_Tractor_ENG.vecto"; - - const string EngineeringJobFull = - @"TestData\XML\XMLWriter\EngineeringJob\Class5_Tractor_4x2\Class5_Tractor_ENG-FULL.vecto"; - - const string DeclarationJob = @"TestData\XML\XMLWriter\DeclarationJob\Class5_Tractor_4x2\Class5_Tractor_DECL.vecto"; - - const string DeclarationJobFull = - @"TestData\XML\XMLWriter\DeclarationJob\Class5_Tractor_4x2\Class5_Tractor_DECL-FULL.vecto"; - - - [TestMethod] - public void TestWriteEngineOnlySingleFile() - { - var outFile = "EngineOnlyJobSingleFile.xml"; - - if (File.Exists(outFile)) { - File.Delete(outFile); - } - - var inputData = JSONInputDataFactory.ReadJsonJob(EngineOnlyJob); - var job = - new XMLEngineeringWriter(".", true, "TU Graz, IVT").GenerateVectoJob((IEngineeringInputDataProvider)inputData); - job.Save(outFile); - - //var reader = XmlReader.Create(outFile); - var xml = new XMLEngineeringInputDataProvider(outFile, true); - - Assert.IsNotNull(xml); - Assert.AreEqual("175kW 6.8l Engine", xml.JobInputData().JobName); - } - - [TestMethod] - public void TestWriteEngineeringSingleFile() - { - var outFile = "EngineeringJobSingleFile.xml"; - - var inputData = JSONInputDataFactory.ReadJsonJob(EngineeringJob); - var job = - new XMLEngineeringWriter(".", true, "TU Graz, IVT").GenerateVectoJob((IEngineeringInputDataProvider)inputData); - job.Save(outFile); - - var xml = new XMLEngineeringInputDataProvider(outFile, true); - - Assert.IsNotNull(xml); - Assert.AreEqual("VEH-N.A.", xml.JobInputData().JobName); - } - - [TestMethod] - public void TestWriteEngineeringSingleFileFull() - { - var outFile = "EngineeringJobSingleFileFull.xml"; - - var inputData = JSONInputDataFactory.ReadJsonJob(EngineeringJobFull); - var job = - new XMLEngineeringWriter(".", true, "TU Graz, IVT").GenerateVectoJob((IEngineeringInputDataProvider)inputData); - job.Save(outFile); - - var xml = new XMLEngineeringInputDataProvider(outFile, true); - - Assert.IsNotNull(xml); - Assert.AreEqual("VEH-N.A.", xml.JobInputData().JobName); - } - - [TestMethod] - public void TestWriteEngineeringMultipleFilesFull() - { - var outFile = "EngineeringJobMultipleFilesFull.xml"; - var outDir = "Engineering_MultipleFiles_Full"; - Directory.CreateDirectory(outDir); - - var inputData = JSONInputDataFactory.ReadJsonJob(EngineeringJobFull); - var job = - new XMLEngineeringWriter(outDir, false, "TU Graz, IVT").GenerateVectoJob((IEngineeringInputDataProvider)inputData); - job.Save(Path.Combine(outDir, outFile)); - - var xml = new XMLEngineeringInputDataProvider(Path.Combine(outDir, outFile), true); - - Assert.IsNotNull(xml); - Assert.AreEqual("VEH-N.A.", xml.JobInputData().JobName); - } - - [TestMethod] - public void TestWriteEngineeringMultipleFiles() - { - var inputData = JSONInputDataFactory.ReadJsonJob(EngineeringJob); - Directory.CreateDirectory("Engineering_MultipleFiles"); - var job = - new XMLEngineeringWriter("Engineering_MultipleFiles", false, "TU Graz, IVT").GenerateVectoJob( - (IEngineeringInputDataProvider)inputData); - job.Save("Engineering_MultipleFiles/EngineeringJobMultipleFiles.xml"); - - //var xml = new XMLEngineeringInputDataProvider(outFile, true); - - //Assert.IsNotNull(xml); - //Assert.AreEqual("VEH-N/A", xml.JobInputData().JobName); - } - - [TestMethod] - public void TestWriteDeclarationJob() - { - var outputFile = "DeclarationJobSingleFile.xml"; - - if (File.Exists(outputFile)) { - File.Delete(outputFile); - } - - var inputData = JSONInputDataFactory.ReadJsonJob(DeclarationJob); - - var job = new XMLDeclarationWriter("TUG_IVT").GenerateVectoJob((IDeclarationInputDataProvider)inputData); - - job.Save(outputFile); - - var reader = XmlReader.Create(outputFile); - var xml = new XMLDeclarationInputDataProvider(reader, true); - - Assert.IsNotNull(xml); - Assert.AreEqual("VEH-N.A.", xml.JobInputData().JobName); - } - - [TestMethod] - public void TestWriteDeclarationJobFull() - { - var outputFile = "DeclarationJobFullSingleFile.xml"; - - if (File.Exists(outputFile)) { - File.Delete(outputFile); - } - - var inputData = JSONInputDataFactory.ReadJsonJob(DeclarationJobFull); - - var job = new XMLDeclarationWriter("TUG_IVT").GenerateVectoJob((IDeclarationInputDataProvider)inputData); - - job.Save(outputFile); - - var reader = XmlReader.Create(outputFile); - var xml = new XMLDeclarationInputDataProvider(reader, true); - - Assert.IsNotNull(xml); - Assert.AreEqual("VEH-N.A.", xml.JobInputData().JobName); - } - } +using System.IO; +using System.Xml; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using TUGraz.IVT.VectoXML.Writer; +using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCore.InputData.FileIO.JSON; +using TUGraz.VectoCore.InputData.FileIO.XML.Declaration; +using TUGraz.VectoCore.InputData.FileIO.XML.Engineering; +using TUGraz.VectoCore.OutputData.XML; + +namespace TUGraz.VectoCore.Tests.XML +{ + [TestClass] + public class XMLWritingTests + { + const string EngineOnlyJob = @"TestData\XML\EngineOnlyJob\EngineOnly.vecto"; + const string EngineeringJob = @"TestData\XML\EngineeringJob\Class5_Tractor_4x2\Class5_Tractor_ENG.vecto"; + + const string EngineeringJobFull = + @"TestData\XML\XMLWriter\EngineeringJob\Class5_Tractor_4x2\Class5_Tractor_ENG-FULL.vecto"; + + const string DeclarationJob = @"TestData\XML\XMLWriter\DeclarationJob\Class5_Tractor_4x2\Class5_Tractor_DECL.vecto"; + + const string DeclarationJobFull = + @"TestData\XML\XMLWriter\DeclarationJob\Class5_Tractor_4x2\Class5_Tractor_DECL-FULL.vecto"; + + + [TestMethod] + public void TestWriteEngineOnlySingleFile() + { + var outFile = "EngineOnlyJobSingleFile.xml"; + + if (File.Exists(outFile)) { + File.Delete(outFile); + } + + var inputData = JSONInputDataFactory.ReadJsonJob(EngineOnlyJob); + var job = + new XMLEngineeringWriter(".", true, "TU Graz, IVT").GenerateVectoJob((IEngineeringInputDataProvider)inputData); + job.Save(outFile); + + //var reader = XmlReader.Create(outFile); + var xml = new XMLEngineeringInputDataProvider(outFile, true); + + Assert.IsNotNull(xml); + Assert.AreEqual("175kW 6.8l Engine", xml.JobInputData().JobName); + } + + [TestMethod] + public void TestWriteEngineeringSingleFile() + { + var outFile = "EngineeringJobSingleFile.xml"; + + var inputData = JSONInputDataFactory.ReadJsonJob(EngineeringJob); + var job = + new XMLEngineeringWriter(".", true, "TU Graz, IVT").GenerateVectoJob((IEngineeringInputDataProvider)inputData); + job.Save(outFile); + + var xml = new XMLEngineeringInputDataProvider(outFile, true); + + Assert.IsNotNull(xml); + Assert.AreEqual("VEH-N.A.", xml.JobInputData().JobName); + } + + [TestMethod] + public void TestWriteEngineeringSingleFileFull() + { + var outFile = "EngineeringJobSingleFileFull.xml"; + + var inputData = JSONInputDataFactory.ReadJsonJob(EngineeringJobFull); + var job = + new XMLEngineeringWriter(".", true, "TU Graz, IVT").GenerateVectoJob((IEngineeringInputDataProvider)inputData); + job.Save(outFile); + + var xml = new XMLEngineeringInputDataProvider(outFile, true); + + Assert.IsNotNull(xml); + Assert.AreEqual("VEH-N.A.", xml.JobInputData().JobName); + } + + [TestMethod] + public void TestWriteEngineeringMultipleFilesFull() + { + var outFile = "EngineeringJobMultipleFilesFull.xml"; + var outDir = "Engineering_MultipleFiles_Full"; + Directory.CreateDirectory(outDir); + + var inputData = JSONInputDataFactory.ReadJsonJob(EngineeringJobFull); + var job = + new XMLEngineeringWriter(outDir, false, "TU Graz, IVT").GenerateVectoJob((IEngineeringInputDataProvider)inputData); + job.Save(Path.Combine(outDir, outFile)); + + var xml = new XMLEngineeringInputDataProvider(Path.Combine(outDir, outFile), true); + + Assert.IsNotNull(xml); + Assert.AreEqual("VEH-N.A.", xml.JobInputData().JobName); + } + + [TestMethod] + public void TestWriteEngineeringMultipleFiles() + { + var inputData = JSONInputDataFactory.ReadJsonJob(EngineeringJob); + Directory.CreateDirectory("Engineering_MultipleFiles"); + var job = + new XMLEngineeringWriter("Engineering_MultipleFiles", false, "TU Graz, IVT").GenerateVectoJob( + (IEngineeringInputDataProvider)inputData); + job.Save("Engineering_MultipleFiles/EngineeringJobMultipleFiles.xml"); + + //var xml = new XMLEngineeringInputDataProvider(outFile, true); + + //Assert.IsNotNull(xml); + //Assert.AreEqual("VEH-N/A", xml.JobInputData().JobName); + } + + [TestMethod] + public void TestWriteDeclarationJob() + { + var outputFile = "DeclarationJobSingleFile.xml"; + + if (File.Exists(outputFile)) { + File.Delete(outputFile); + } + + var inputData = JSONInputDataFactory.ReadJsonJob(DeclarationJob); + + var job = new XMLDeclarationWriter("TUG_IVT").GenerateVectoJob((IDeclarationInputDataProvider)inputData); + + job.Save(outputFile); + + var reader = XmlReader.Create(outputFile); + var xml = new XMLDeclarationInputDataProvider(reader, true); + + Assert.IsNotNull(xml); + Assert.AreEqual("VEH-N.A.", xml.JobInputData().JobName); + } + + [TestMethod] + public void TestWriteDeclarationJobFull() + { + var outputFile = "DeclarationJobFullSingleFile.xml"; + + if (File.Exists(outputFile)) { + File.Delete(outputFile); + } + + var inputData = JSONInputDataFactory.ReadJsonJob(DeclarationJobFull); + + var job = new XMLDeclarationWriter("TUG_IVT").GenerateVectoJob((IDeclarationInputDataProvider)inputData); + + job.Save(outputFile); + + var reader = XmlReader.Create(outputFile); + var xml = new XMLDeclarationInputDataProvider(reader, true); + + Assert.IsNotNull(xml); + Assert.AreEqual("VEH-N.A.", xml.JobInputData().JobName); + } + } } \ No newline at end of file -- GitLab