From bdb67d1d279beacba8e0ba03c4e572e86296ae1d Mon Sep 17 00:00:00 2001 From: Harald Martini <harald.martini@student.tugraz.at> Date: Wed, 1 Jun 2022 15:13:31 +0200 Subject: [PATCH] added mockup tests --- .../VectoMockupTest/MockUpVectoTest.cs | 77 +++++++++++++++++-- VectoMockup/VectoMockupTest/UnitTest1.cs | 18 ----- .../VectoMockupTest/VectoMockupTest.csproj | 35 ++++++++- 3 files changed, 106 insertions(+), 24 deletions(-) delete mode 100644 VectoMockup/VectoMockupTest/UnitTest1.cs diff --git a/VectoMockup/VectoMockupTest/MockUpVectoTest.cs b/VectoMockup/VectoMockupTest/MockUpVectoTest.cs index 4abd2c5faa..0a5e300a02 100644 --- a/VectoMockup/VectoMockupTest/MockUpVectoTest.cs +++ b/VectoMockup/VectoMockupTest/MockUpVectoTest.cs @@ -1,4 +1,6 @@ -using System.IO; +using System.Collections; +using System.Collections.Generic; +using System.IO; using System.Xml; using System.Xml.Linq; using Ninject; @@ -6,6 +8,7 @@ using NUnit.Framework; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCore; +using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.FileIO.XML; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.Models.Simulation; @@ -33,7 +36,7 @@ namespace VectoMockupTest private ISimulatorFactory _simulatorFactory; private IXMLInputDataReader _inputDataReader; - #region TestFiles + #region Lorry Testfiles protected const string ConventionalHeavyLorry = @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\HeavyLorry\Conventional_heavyLorry_AMT.xml"; protected const string HEV_Px_HeavyLorry = @@ -57,6 +60,10 @@ namespace VectoMockupTest protected const string PEV_IEPC_HeavyLorry = @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\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 HEV_Px_IHPC_PrimaryBus = @@ -78,12 +85,34 @@ namespace VectoMockupTest protected const string PEV_IEPC_PrimaryBus = @"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\Distributed\PrimaryBus\IEPC_primaryBus.xml"; + #endregion + + #region interim bus + protected const string Conventional_InterimBus = @"TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_consolidated_multiple_stages.xml"; + #endregion - + #region completed bus protected const string Conventional_CompletedBus = @"TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_conventional_final_vif.VIF_Report_1.xml"; + #endregion + + #region special cases multistage + + private const string TestDataDir = "TestData\\"; + + private const string CompletedDiesel = TestDataDir + "Multistage\\newVifCompletedConventional.vecto"; + private const string CompletedExempted = TestDataDir + "Multistage\\newVifExempted.vecto"; + private const string CompletedExemptedWithoutTPMLM = TestDataDir + "Multistage\\newVifExempted-noTPMLM.vecto"; + private string CompletedWithoutADAS = TestDataDir + "Multistage\\newVifCompletedConventional-noADAS.vecto"; + + + + + private const string InterimExempted = TestDataDir + "newVifExemptedIncomplete.vecto"; + private const string InterimDiesel = TestDataDir + "newVifInterimDiesel.vecto"; + #endregion @@ -108,6 +137,19 @@ namespace VectoMockupTest } + private void Clearfiles(FileOutputWriter fileWriter) + { + IList<string> filesToBeCleared = new List<string>() { + fileWriter.XMLPrimaryVehicleReportName, + fileWriter.XMLFullReportName, + fileWriter.XMLCustomerReportName + }; + foreach (var fileName in filesToBeCleared) { + if (File.Exists(fileName)) { + File.Delete(fileName); + } + } + } public FileOutputWriter GetOutputFileWriter(string subDirectory, string originalFilePath) { subDirectory = Path.Combine("MockupReports",subDirectory); @@ -165,10 +207,13 @@ namespace VectoMockupTest _simulatorFactory = _simFactoryFactory.Factory(ExecutionMode.Declaration, inputProvider, fileWriter, null, null, true); + Clearfiles(fileWriter); //remove files from previous test runs jobContainer.AddRuns(_simulatorFactory); jobContainer.Execute(false); jobContainer.WaitFinished(); CheckFileExists(fileWriter, checkCif:false, checkVif:true); + Assert.IsTrue(MRF_CIF_WriterTestBase.ValidateAndPrint(XDocument.Load(fileWriter.XMLPrimaryVehicleReportName), XsdPath), "VIF invalid" ); + Assert.IsTrue(MRF_CIF_WriterTestBase.ValidateAndPrint(XDocument.Load(fileWriter.XMLFullReportName), XsdPath), "MRF invalid"); } [TestCase(Conventional_InterimBus, TestName = "ConventionalInterimBus")] @@ -197,7 +242,7 @@ namespace VectoMockupTest { //SimulatorFactory.MockUpRun = mockup; XMLDeclarationVIFInputData input = null; - var fileWriter = new FileOutputWriter(fileName); + var fileWriter = GetOutputFileWriter(TestContext.CurrentContext.Test.Name, fileName); using (var reader = XmlReader.Create(fileName)) { input = new XMLDeclarationVIFInputData(_inputDataReader.Create(fileName) as IMultistageBusInputDataProvider, null); @@ -212,12 +257,34 @@ namespace VectoMockupTest jobContainer.AddRuns(_simulatorFactory); jobContainer.Execute(false); jobContainer.WaitFinished(); - CheckFileExists(fileWriter, checkCif: false, checkVif: true); + CheckFileExists(fileWriter, checkCif: true, checkVif: false); + } + + [TestCase(CompletedDiesel, TestName="CompletedDiesel")] + public void PrimaryAndCompletedTest(string fileName) + { + + var fileWriter = GetOutputFileWriter(TestContext.CurrentContext.Test.Name, fileName); + var sumWriter = new SummaryDataContainer(fileWriter); + var jobContainer = new JobContainer(sumWriter); + var input = JSONInputDataFactory.ReadJsonJob(fileName); + _simulatorFactory = + _simFactoryFactory.Factory(ExecutionMode.Declaration, input, fileWriter, null, null, true); + + jobContainer.AddRuns(_simulatorFactory); + jobContainer.Execute(false); + jobContainer.WaitFinished(); + CheckFileExists(fileWriter, checkCif: true, checkVif: false); + } + + + + private static void CheckFileExists(FileOutputWriter fileWriter, bool checkMrf = true, bool checkCif = true, bool checkVif = false) { if (checkCif && !File.Exists(fileWriter.XMLCustomerReportName)) { diff --git a/VectoMockup/VectoMockupTest/UnitTest1.cs b/VectoMockup/VectoMockupTest/UnitTest1.cs deleted file mode 100644 index 753f9c7310..0000000000 --- a/VectoMockup/VectoMockupTest/UnitTest1.cs +++ /dev/null @@ -1,18 +0,0 @@ -using NUnit.Framework; - -namespace VectoMockupTest -{ - public class Tests - { - [SetUp] - public void Setup() - { - } - - [Test] - public void Test1() - { - Assert.Pass(); - } - } -} \ No newline at end of file diff --git a/VectoMockup/VectoMockupTest/VectoMockupTest.csproj b/VectoMockup/VectoMockupTest/VectoMockupTest.csproj index b46c46a215..1047c86b2b 100644 --- a/VectoMockup/VectoMockupTest/VectoMockupTest.csproj +++ b/VectoMockup/VectoMockupTest/VectoMockupTest.csproj @@ -23,6 +23,18 @@ <DefineConstants>$(DefineConstants)TRACE;MOCKUP</DefineConstants> </PropertyGroup> + <ItemGroup> + <Content Include="..\..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\vecto_vehicle-primary_heavyBus-sample.xml" Link="TestData\vecto_vehicle-primary_heavyBus-sample.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="..\..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\vecto_vehicle-stage_input_full-sample-final-noADAS.xml" Link="TestData\vecto_vehicle-stage_input_full-sample-final-noADAS.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="..\..\VectoCore\VectoCoreTest\TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\vecto_vehicle-stage_input_full-sample.xml" Link="TestData\vecto_vehicle-stage_input_full-sample.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + </ItemGroup> + <ItemGroup> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.1.0" /> <PackageReference Include="NUnit" Version="3.13.3" /> @@ -32,7 +44,24 @@ </ItemGroup> <ItemGroup> - <Folder Include="TestData\" /> + <None Include="..\..\VectoCore\VectoCoreTest\TestData\Integration\Multistage\newVifCompletedConventional-noADAS.vecto" Link="TestData\Multistage\newVifCompletedConventional-noADAS.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="..\..\VectoCore\VectoCoreTest\TestData\Integration\Multistage\newVifCompletedConventional.vecto" Link="TestData\Multistage\newVifCompletedConventional.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="..\..\VectoCore\VectoCoreTest\TestData\Integration\Multistage\newVifExempted-noTPMLM.vecto" Link="TestData\Multistage\newVifExempted-noTPMLM.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="..\..\VectoCore\VectoCoreTest\TestData\Integration\Multistage\newVifExempted.vecto" Link="TestData\Multistage\newVifExempted.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="..\..\VectoCore\VectoCoreTest\TestData\Integration\Multistage\newVifExemptedIncomplete.vecto" Link="TestData\Multistage\newVifExemptedIncomplete.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="..\..\VectoCore\VectoCoreTest\TestData\Integration\Multistage\newVifInterimDiesel.vecto" Link="TestData\Multistage\newVifInterimDiesel.vecto"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> </ItemGroup> <ItemGroup> @@ -41,4 +70,8 @@ <ProjectReference Include="..\VectoMockup\VectoMockup.csproj" /> </ItemGroup> + <ItemGroup> + <Folder Include="TestData\Multistage\" /> + </ItemGroup> + </Project> -- GitLab