diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj index de7907d4cb4ff56da78cdeade5caeeb19a41c754..b77566a42d6bead4774378d0271f4254062aa476 100644 --- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj +++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj @@ -236,6 +236,7 @@ <Compile Include="Utils\VectoMathTest.cs" /> <Compile Include="XML\XMLCompleteBusReaderTest.cs" /> <Compile Include="XML\XMLDeclarationInputTest.cs" /> + <Compile Include="XML\XMLDeclarationInputv210.cs" /> <Compile Include="XML\XMLDeclarationReaderVersionsTest.cs" /> <Compile Include="XML\XMLEngineeringInputRefTest.cs" /> <Compile Include="XML\XMLEngineeringInputSingleTest.cs" /> diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs new file mode 100644 index 0000000000000000000000000000000000000000..fdd7a4568ad93d05f9c1fb615890963bff499845 --- /dev/null +++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs @@ -0,0 +1,101 @@ +using System.IO; +using System.Linq; +using System.Xml; +using Ninject; +using NUnit.Framework; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCore.InputData.FileIO.XML; +using TUGraz.VectoCore.Models.Simulation; +using TUGraz.VectoCore.Models.Simulation.Impl; +using TUGraz.VectoCore.OutputData.FileIO; + +namespace TUGraz.VectoCore.Tests.XML +{ + [TestFixture] + public class XMLDeclarationInputv210 + { + protected IXMLInputDataReader xmlInputReader; + private IKernel _kernel; + + [OneTimeSetUp] + public void RunBeforeAnyTests() + { + Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory); + + _kernel = new StandardKernel(new VectoNinjectModule()); + xmlInputReader = _kernel.Get<IXMLInputDataReader>(); + } + + private const string BASE_DIR = @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.10\Distributed\"; + + + [TestCase(@"HeavyLorry\Conventional_heavyLorry_AMT.xml"), + TestCase(@"HeavyLorry\HEV-S_heavyLorry_AMT_S2.xml"), + TestCase(@"HeavyLorry\HEV-S_heavyLorry_IEPC-S.xml"), + TestCase(@"HeavyLorry\HEV-S_heavyLorry_S3.xml"), + TestCase(@"HeavyLorry\HEV-S_heavyLorry_S4.xml"), + TestCase(@"HeavyLorry\HEV_heavyLorry_AMT_Px.xml"), + TestCase(@"HeavyLorry\IEPC_heavyLorry.xml"), + TestCase(@"HeavyLorry\PEV_heavyLorry_AMT_E2.xml"), + TestCase(@"HeavyLorry\PEV_heavyLorry_APT-N_E2.xml"), + TestCase(@"HeavyLorry\PEV_heavyLorry_E3.xml"), + TestCase(@"HeavyLorry\PEV_heavyLorry_E4.xml"), + TestCase(@"MediumLorry\Conventional_MediumLorry_AMT.xml"), + TestCase(@"MediumLorry\HEV-S_mediumLorry_AMT_S2.xml"), + TestCase(@"MediumLorry\HEV-S_mediumLorry_IEPC-S.xml"), + TestCase(@"MediumLorry\HEV-S_mediumLorry_S3.xml"), + TestCase(@"MediumLorry\HEV-S_mediumLorry_S4.xml"), + TestCase(@"MediumLorry\HEV_mediumLorry_AMT_Px.xml"), + TestCase(@"MediumLorry\IEPC_mediumLorry.xml"), + TestCase(@"MediumLorry\PEV_mediumLorry_AMT_E2.xml"), + TestCase(@"MediumLorry\PEV_mediumLorry_APT-N_E2.xml"), + TestCase(@"MediumLorry\PEV_mediumLorry_E3.xml"), + TestCase(@"MediumLorry\PEV_mediumLorry_E4.xml"), + TestCase(@"PrimaryBus\Conventional_primaryBus_AMT.xml"), + TestCase(@"PrimaryBus\HEV-S_primaryBus_AMT_S2.xml"), + TestCase(@"PrimaryBus\HEV-S_primaryBus_IEPC-S.xml"), + TestCase(@"PrimaryBus\HEV-S_primaryBus_S3.xml"), + TestCase(@"PrimaryBus\HEV-S_primaryBus_S4.xml"), + TestCase(@"PrimaryBus\HEV_primaryBus_AMT_Px.xml"), + TestCase(@"PrimaryBus\IEPC_primaryBus.xml"), + TestCase(@"PrimaryBus\PEV_primaryBus_AMT_E2.xml"), + TestCase(@"PrimaryBus\PEV_primaryBus_E3.xml"), + TestCase(@"PrimaryBus\PEV_primaryBus_E4.xml"), + TestCase(@"CompletedBus\Conventional_completedBus_1.xml"), + TestCase(@"CompletedBus\HEV_completedBus_1.xml"), + TestCase(@"CompletedBus\IEPC_completedBus_1.xml"), + TestCase(@"CompletedBus\PEV_completedBus_1.xml"), + TestCase(@"ExemptedVehicles\exempted_completedBus_input_full.xml"), + TestCase(@"ExemptedVehicles\exempted_completedBus_input_only_mandatory_entries.xml"), + TestCase(@"ExemptedVehicles\exempted_heavyLorry.xml"), + TestCase(@"ExemptedVehicles\exempted_mediumLorry.xml"), + TestCase(@"ExemptedVehicles\exempted_primaryBus.xml"), + ] + public void TestReadingJobVersion_V210(string jobFile) + { + ReadDeclarationJob(jobFile); + } + + + public IVectoRun[] ReadDeclarationJob(string jobfile) + { + var filename = Path.Combine(BASE_DIR, jobfile); + + var fileWriter = new FileOutputWriter(filename); + //var sumWriter = new SummaryDataContainer(fileWriter); + //var jobContainer = new JobContainer(sumWriter); + var dataProvider = xmlInputReader.CreateDeclaration(XmlReader.Create(filename)); + var runsFactory = new SimulatorFactory(ExecutionMode.Declaration, dataProvider, fileWriter) { + ModalResults1Hz = false, + WriteModalResults = false, + ActualModalData = false, + Validate = false, + }; + + var runs = runsFactory.SimulationRuns().ToArray(); + Assert.IsTrue(runs.Length > 0); + + return runs; + } + } +} \ No newline at end of file