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

Skip to content
Snippets Groups Projects
Commit 57c5a714 authored by Harald MARTINI's avatar Harald MARTINI
Browse files

Added Exempted Test with mandatory fields

parent 5469b596
No related branches found
No related tags found
No related merge requests found
...@@ -6,8 +6,8 @@ namespace VECTO3GUI2020.Helper ...@@ -6,8 +6,8 @@ namespace VECTO3GUI2020.Helper
{ {
public static void CreateDirectory(string fileName) public static void CreateDirectory(string fileName)
{ {
Path.GetDirectoryName(fileName); var dirName = Path.GetDirectoryName(fileName);
Directory.CreateDirectory(fileName); Directory.CreateDirectory(dirName);
} }
} }
} }
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<VectoOutputMultistage xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.8="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1 V:\VectoCore\VectoCore\Resources\XSD/VectoOutputMultistage.0.1.xsd">
<PrimaryVehicle xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1">
<Data id="VEH-4cb168560c0d4b3d886d" xsi:type="PrimaryVehicleDataType">
<Vehicle xsi:type="VehicleExemptedPrimaryBusType">
<ManufacturerPrimaryVehicle>Some Manufacturer</ManufacturerPrimaryVehicle>
<ManufacturerAddressPrimaryVehicle>Infinite Loop 1</ManufacturerAddressPrimaryVehicle>
<Model>Sample Bus Model</Model>
<VIN>VEH-1234567890</VIN>
<Date>2017-02-15T11:00:00Z</Date>
<LegislativeCategory>N2</LegislativeCategory>
<ChassisConfiguration>Bus</ChassisConfiguration>
<AxleConfiguration>6x2</AxleConfiguration>
<Articulated>false</Articulated>
<TechnicalPermissibleMaximumLadenMass unit="kg">15400.0</TechnicalPermissibleMaximumLadenMass>
<ZeroEmissionVehicle>true</ZeroEmissionVehicle>
<SumNetPower unit="W">350000</SumNetPower>
<Technology>Fuel cell vehicle</Technology>
</Vehicle>
<InputDataSignature>
<di:Reference URI="#VEH-1234567890">
<di:Transforms>
<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</di:Transforms>
<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<di:DigestValue>sYhNx2MDHaOAMTlPflP/qQbEkazmRDxY0Vw6yzwwcJc=</di:DigestValue>
</di:Reference>
</InputDataSignature>
<ManufacturerRecordSignature>
<di:Reference URI="#RESULT-4c4c52e522874a398b3a">
<di:Transforms>
<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</di:Transforms>
<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<di:DigestValue>guwkv90jOyWgDpgQwAEbLRkq7pWGeVaGA+dHizLYufQ=</di:DigestValue>
</di:Reference>
</ManufacturerRecordSignature>
<Results>
<Status>success</Status>
<ExemptedVehicle />
</Results>
<ApplicationInformation>
<SimulationToolVersion>0.7.3.2247-DEV !!NOT FOR CERTIFICATION!!</SimulationToolVersion>
<Date>2021-06-15T16:00:43.6769906Z</Date>
</ApplicationInformation>
</Data>
<Signature>
<di:Reference URI="#VEH-4cb168560c0d4b3d886d">
<di:Transforms>
<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</di:Transforms>
<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<di:DigestValue>KeeEnRNO5Gjm7XB+YYx542ujYbE0k7a9SkWe/BWo7bI=</di:DigestValue>
</di:Reference>
</Signature>
</PrimaryVehicle>
<ManufacturingStage stageCount="2">
<Data xsi:type="BusManufacturingStageDataType" id="MST-4c2c483e8feb4ebd8503">
<HashPreviousStage>
<di:Reference URI="#VEH-4cb168560c0d4b3d886d">
<di:Transforms>
<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</di:Transforms>
<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<di:DigestValue>KeeEnRNO5Gjm7XB+YYx542ujYbE0k7a9SkWe/BWo7bI=</di:DigestValue>
</di:Reference>
</HashPreviousStage>
<Vehicle xsi:type="v2.8:ExemptedInterimStageInputType" id="VEH-c6ac253bde8b4bd49a9b">
<v2.8:Manufacturer>123</v2.8:Manufacturer>
<v2.8:ManufacturerAddress>123</v2.8:ManufacturerAddress>
<v2.8:VIN>adsf1</v2.8:VIN>
<v2.8:Date>2021-06-22T22:00:00Z</v2.8:Date>
</Vehicle>
<ApplicationInformation>
<SimulationToolVersion>0.7.3.2247-DEV</SimulationToolVersion>
<Date>2021-06-23T08:19:04.8483845Z</Date>
</ApplicationInformation>
</Data>
<Signature>
<di:Reference URI="#MST-4c2c483e8feb4ebd8503">
<di:Transforms>
<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</di:Transforms>
<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<di:DigestValue>XH5k0TQWvBWs/aV6Zz0T/aggks5HgnLTvKtekiARewE=</di:DigestValue>
</di:Reference>
</Signature>
</ManufacturingStage>
</VectoOutputMultistage>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<VectoOutputMultistage xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.8="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1 V:\VectoCore\VectoCore\Resources\XSD/VectoOutputMultistage.0.1.xsd">
<PrimaryVehicle xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile:v0.1">
<Data id="VEH-4cb168560c0d4b3d886d" xsi:type="PrimaryVehicleDataType">
<Vehicle xsi:type="VehicleExemptedPrimaryBusType">
<ManufacturerPrimaryVehicle>Some Manufacturer</ManufacturerPrimaryVehicle>
<ManufacturerAddressPrimaryVehicle>Infinite Loop 1</ManufacturerAddressPrimaryVehicle>
<Model>Sample Bus Model</Model>
<VIN>VEH-1234567890</VIN>
<Date>2017-02-15T11:00:00Z</Date>
<LegislativeCategory>N2</LegislativeCategory>
<ChassisConfiguration>Bus</ChassisConfiguration>
<AxleConfiguration>6x2</AxleConfiguration>
<Articulated>false</Articulated>
<TechnicalPermissibleMaximumLadenMass unit="kg">15400.0</TechnicalPermissibleMaximumLadenMass>
<ZeroEmissionVehicle>true</ZeroEmissionVehicle>
<SumNetPower unit="W">350000</SumNetPower>
<Technology>Fuel cell vehicle</Technology>
</Vehicle>
<InputDataSignature>
<di:Reference URI="#VEH-1234567890">
<di:Transforms>
<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</di:Transforms>
<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<di:DigestValue>sYhNx2MDHaOAMTlPflP/qQbEkazmRDxY0Vw6yzwwcJc=</di:DigestValue>
</di:Reference>
</InputDataSignature>
<ManufacturerRecordSignature>
<di:Reference URI="#RESULT-4c4c52e522874a398b3a">
<di:Transforms>
<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</di:Transforms>
<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<di:DigestValue>guwkv90jOyWgDpgQwAEbLRkq7pWGeVaGA+dHizLYufQ=</di:DigestValue>
</di:Reference>
</ManufacturerRecordSignature>
<Results>
<Status>success</Status>
<ExemptedVehicle />
</Results>
<ApplicationInformation>
<SimulationToolVersion>0.7.3.2247-DEV !!NOT FOR CERTIFICATION!!</SimulationToolVersion>
<Date>2021-06-15T16:00:43.6769906Z</Date>
</ApplicationInformation>
</Data>
<Signature>
<di:Reference URI="#VEH-4cb168560c0d4b3d886d">
<di:Transforms>
<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</di:Transforms>
<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<di:DigestValue>KeeEnRNO5Gjm7XB+YYx542ujYbE0k7a9SkWe/BWo7bI=</di:DigestValue>
</di:Reference>
</Signature>
</PrimaryVehicle>
<ManufacturingStage stageCount="2">
<Data xsi:type="BusManufacturingStageDataType" id="MST-73e34e20c6ec4e98bac3">
<HashPreviousStage>
<di:Reference URI="#VEH-4cb168560c0d4b3d886d">
<di:Transforms>
<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</di:Transforms>
<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<di:DigestValue>KeeEnRNO5Gjm7XB+YYx542ujYbE0k7a9SkWe/BWo7bI=</di:DigestValue>
</di:Reference>
</HashPreviousStage>
<Vehicle xsi:type="v2.8:ExemptedInterimStageInputType" id="VEH-b34a0bc66bcf46f18a04">
<v2.8:Manufacturer>sdf</v2.8:Manufacturer>
<v2.8:ManufacturerAddress>asdf</v2.8:ManufacturerAddress>
<v2.8:VIN>afd</v2.8:VIN>
<v2.8:Date>2021-06-22T22:00:00Z</v2.8:Date>
<v2.8:CorrectedActualMass>12343</v2.8:CorrectedActualMass>
<v2.8:TechnicalPermissibleMaximumLadenMass>12354</v2.8:TechnicalPermissibleMaximumLadenMass>
</Vehicle>
<ApplicationInformation>
<SimulationToolVersion>0.7.3.2247-DEV</SimulationToolVersion>
<Date>2021-06-23T08:35:16.8844114Z</Date>
</ApplicationInformation>
</Data>
<Signature>
<di:Reference URI="#MST-73e34e20c6ec4e98bac3">
<di:Transforms>
<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" />
<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</di:Transforms>
<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<di:DigestValue>1HzqGQs5vo59mNfInlO1sSMXdlFf1ExyIcV3Eh47+d4=</di:DigestValue>
</di:Reference>
</Signature>
</ManufacturingStage>
</VectoOutputMultistage>
\ No newline at end of file
...@@ -20,9 +20,5 @@ namespace Vecto3GUI2020Test ...@@ -20,9 +20,5 @@ namespace Vecto3GUI2020Test
{ {
return _inputDataReader.Create(fileName); return _inputDataReader.Create(fileName);
} }
} }
} }
\ No newline at end of file
...@@ -112,6 +112,9 @@ ...@@ -112,6 +112,9 @@
<None Update="TestData\exempted_primary_heavyBus.VIF.xml"> <None Update="TestData\exempted_primary_heavyBus.VIF.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None> </None>
<None Update="TestData\exempted_vif_mandatory.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="TestData\final.VIF_Report_4.xml"> <None Update="TestData\final.VIF_Report_4.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None> </None>
......
...@@ -2,11 +2,14 @@ ...@@ -2,11 +2,14 @@
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Threading.Tasks;
using Castle.Core.Logging;
using Ninject; using Ninject;
using NUnit.Framework; using NUnit.Framework;
using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.InputData;
using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Models;
using TUGraz.VectoCommon.Utils; using TUGraz.VectoCommon.Utils;
using VECTO3GUI2020.ViewModel.Implementation;
using VECTO3GUI2020.ViewModel.Interfaces; using VECTO3GUI2020.ViewModel.Interfaces;
using VECTO3GUI2020.ViewModel.MultiStage.Implementation; using VECTO3GUI2020.ViewModel.MultiStage.Implementation;
...@@ -15,7 +18,9 @@ namespace Vecto3GUI2020Test.ViewModelTests ...@@ -15,7 +18,9 @@ namespace Vecto3GUI2020Test.ViewModelTests
[TestFixture] [TestFixture]
public class ExemptedTests : ViewModelTestBase public class ExemptedTests : ViewModelTestBase
{ {
#region SaveInputData
public const string _exemptedMandatory = "exempted_vif_mandatory.xml";
[Test, Combinatorial] [Test, Combinatorial]
public void LoadAndSaveExemptedPrimary() public void LoadAndSaveExemptedPrimary()
{ {
...@@ -81,11 +86,9 @@ namespace Vecto3GUI2020Test.ViewModelTests ...@@ -81,11 +86,9 @@ namespace Vecto3GUI2020Test.ViewModelTests
Assert.AreEqual(passengerSeatsUpperDeck, vehicleVm.NumberPassengerSeatsUpperDeck); Assert.AreEqual(passengerSeatsUpperDeck, vehicleVm.NumberPassengerSeatsUpperDeck);
Assert.AreEqual(PassengerSeatsLowerDeck, vehicleVm.NumberPassengerSeatsLowerDeck); Assert.AreEqual(PassengerSeatsLowerDeck, vehicleVm.NumberPassengerSeatsLowerDeck);
} }
#endregion
#region SaveInputData
[Test] [Test]
public void SaveAsNewVif() public async Task SaveAsNewVifAndSimulate()
{ {
var newMultiStageJob = loadFile(exempted); var newMultiStageJob = loadFile(exempted);
Assert.IsTrue(newMultiStageJob.MultiStageJobViewModel.Exempted); Assert.IsTrue(newMultiStageJob.MultiStageJobViewModel.Exempted);
...@@ -141,14 +144,14 @@ namespace Vecto3GUI2020Test.ViewModelTests ...@@ -141,14 +144,14 @@ namespace Vecto3GUI2020Test.ViewModelTests
Assert.IsTrue(File.Exists(result)); Assert.IsTrue(File.Exists(result));
//Check that file was added to JobList //Check that file was added to JobList
var jobListVm = _kernel.Get<IJobListViewModel>(); var jobListVm = _kernel.Get<IJobListViewModel>() as JobListViewModel;
Assert.AreEqual(1, jobListVm.Jobs.Count); Assert.AreEqual(1, jobListVm.Jobs.Count);
Assert.AreEqual(result, jobListVm.Jobs[0].DataSource.SourceFile); Assert.AreEqual(result, jobListVm.Jobs[0].DataSource.SourceFile);
var inputDataProvider = _testHelper.GetInputDataProvider(result) as IMultistageBusInputDataProvider; var inputDataProvider = _testHelper.GetInputDataProvider(result) as IMultistageBusInputDataProvider;
Assert.NotNull(inputDataProvider); Assert.NotNull(inputDataProvider);
//Check added Manufacturing Stage
var lastManStage = inputDataProvider.JobInputData.ManufacturingStages.Last(); var lastManStage = inputDataProvider.JobInputData.ManufacturingStages.Last();
...@@ -165,8 +168,28 @@ namespace Vecto3GUI2020Test.ViewModelTests ...@@ -165,8 +168,28 @@ namespace Vecto3GUI2020Test.ViewModelTests
Assert.AreEqual(passengerSeatsUpperDeck, lastManStage.Vehicle.NumberPassengerSeatsUpperDeck); Assert.AreEqual(passengerSeatsUpperDeck, lastManStage.Vehicle.NumberPassengerSeatsUpperDeck);
Assert.AreEqual(PassengerSeatsLowerDeck, lastManStage.Vehicle.NumberPassengerSeatsLowerDeck); Assert.AreEqual(PassengerSeatsLowerDeck, lastManStage.Vehicle.NumberPassengerSeatsLowerDeck);
Write("Starting simulation ...");
jobListVm.Jobs[0].Selected = true;
await jobListVm.RunSimulationExecute();
Write("Done!");
}
[Test]
public async Task SimulateMinimalExemptedVif()
{
//Setup
var jobListViewModel = _kernel.Get<IJobListViewModel>() as JobListViewModel;
await jobListViewModel.AddJobAsync(GetFullPath(_exemptedMandatory));
Assert.AreEqual(1, jobListViewModel.Jobs.Count);
jobListViewModel.Jobs[0].Selected = true;
await jobListViewModel.RunSimulationExecute();
} }
#endregion
......
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