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

Skip to content
Snippets Groups Projects
Commit 089f424f authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

adding testcase to read, re-calculate and compare hashes in VIF

parent a0dccc9a
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
......@@ -36,8 +36,13 @@ using System.Runtime.Remoting.Metadata.W3cXsd2001;
using System.Text;
using System.Xml;
using System.Xml.XPath;
using Ninject;
using NUnit.Framework;
using TUGraz.VectoCommon.Hashing;
using TUGraz.VectoCommon.InputData;
using TUGraz.VectoCore;
using TUGraz.VectoCore.InputData.FileIO.XML;
using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
using TUGraz.VectoCore.Utils;
using TUGraz.VectoHashing;
using VectoHashingTest.Utils;
......@@ -55,12 +60,20 @@ namespace VectoHashingTest
public const string ReferenceXMLEngine = @"Testdata\XML\Reference\vecto_engine-sample.xml";
public const string ReferenceXMLVehicle = @"Testdata\XML\Reference\vecto_vehicle-sample_FULL.xml";
protected IXMLInputDataReader xmlInputReader;
private IKernel _kernel;
[OneTimeSetUp]
public void RunBeforeAnyTests()
{
Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory);
_kernel = new StandardKernel(new VectoNinjectModule());
xmlInputReader = _kernel.Get<IXMLInputDataReader>();
}
[TestCase]
public void TestComponentsEngineFile()
{
......@@ -594,5 +607,54 @@ namespace VectoHashingTest
Assert.AreEqual("l7Z22F1bPMaAD4+0WNY+cahbjDKE80gxYv6K91YTMcU=", primaryHash);
}
[TestCase(@"Testdata\XML\Multistage\final.VIF_Report_5.xml")]
public void TestMultistageVerifyHashStructure(string file)
{
var h = VectoHash.Load(file);
var hashCalcPrimary = h.ComputeHash(VectoComponents.VectoPrimaryVehicleInformation);
var hashReadPrimary = h.ReadHash(VectoComponents.VectoPrimaryVehicleInformation);
Assert.AreEqual(hashReadPrimary, hashCalcPrimary);
var hashCalcInterim1 = h.ComputeHash(VectoComponents.VectoManufacturingStage, 0);
var hashReadInterim1 = h.ReadHash(VectoComponents.VectoManufacturingStage, 0);
Assert.AreEqual(hashReadInterim1, hashCalcInterim1);
var hashCalcInterim2 = h.ComputeHash(VectoComponents.VectoManufacturingStage, 1);
var hashReadInterim2 = h.ReadHash(VectoComponents.VectoManufacturingStage, 1);
Assert.AreEqual(hashReadInterim2, hashCalcInterim2);
var hashCalcInterim3 = h.ComputeHash(VectoComponents.VectoManufacturingStage, 2);
var hashReadInterim3 = h.ReadHash(VectoComponents.VectoManufacturingStage, 2);
Assert.AreEqual(hashReadInterim3, hashCalcInterim3);
var hashCalcInterim4 = h.ComputeHash(VectoComponents.VectoManufacturingStage, 3);
var hashReadInterim4 = h.ReadHash(VectoComponents.VectoManufacturingStage, 3);
Assert.AreEqual(hashReadInterim4, hashCalcInterim4);
var reader = XmlReader.Create(file);
var vif = xmlInputReader.CreateDeclaration(reader) as IMultistageBusInputDataProvider;
var inputDataProvider = new XMLDeclarationVIFInputData(vif, null);
Assert.AreEqual(hashReadPrimary, inputDataProvider.MultistageJobInputData.JobInputData.PrimaryVehicle.VehicleSignatureHash.DigestValue);
Assert.AreEqual(hashReadPrimary, inputDataProvider.MultistageJobInputData.JobInputData.ManufacturingStages[0].HashPreviousStage.DigestValue);
Assert.AreEqual(hashReadInterim1, inputDataProvider.MultistageJobInputData.JobInputData.ManufacturingStages[1].HashPreviousStage.DigestValue);
Assert.AreEqual(hashReadInterim2, inputDataProvider.MultistageJobInputData.JobInputData.ManufacturingStages[2].HashPreviousStage.DigestValue);
Assert.AreEqual(hashReadInterim3, inputDataProvider.MultistageJobInputData.JobInputData.ManufacturingStages[3].HashPreviousStage.DigestValue);
}
}
}
......@@ -38,6 +38,9 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Ninject, Version=3.3.4.0, Culture=neutral, PublicKeyToken=c7192dc5380945e7, processorArchitecture=MSIL">
<HintPath>..\..\packages\Ninject.3.3.4\lib\net45\Ninject.dll</HintPath>
</Reference>
<Reference Include="nunit.framework, Version=3.11.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<HintPath>..\..\packages\NUnit.3.11.0\lib\net45\nunit.framework.dll</HintPath>
<Private>True</Private>
......@@ -68,6 +71,9 @@
<Content Include="Testdata\XML\Invalid\invalid-comp.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Testdata\XML\Multistage\final.VIF_Report_5.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Testdata\XML\Multistage\vecto_multistage_primary_vehicle_stage_2_3_group41.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
......
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Ninject" version="3.3.4" targetFramework="net45" />
<package id="NUnit" version="3.11.0" targetFramework="net45" />
<package id="NUnit3TestAdapter" version="3.11.2" targetFramework="net45" />
</packages>
\ No newline at end of file
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