From 9c5198d6bff3944f5db82ef9a2eb1ed24e4031cb Mon Sep 17 00:00:00 2001 From: "VKMTHD\\franzjosefkober" <franz.josef.kober@ivt.tugraz.at> Date: Wed, 26 Jan 2022 15:20:37 +0100 Subject: [PATCH] added hash sort test case and test files for axlegear --- .../Testdata/XML/Sort/Axlegear.xml | 37 +++++++++++++++++++ .../Testdata/XML/Sort/Axlegear_unsorted.xml | 37 +++++++++++++++++++ .../VectoHashingTest/VectoHashSortTest.cs | 34 ++++++++++++----- .../VectoHashingTest/VectoHashingTest.csproj | 6 +++ 4 files changed, 104 insertions(+), 10 deletions(-) create mode 100644 VectoCommon/VectoHashingTest/Testdata/XML/Sort/Axlegear.xml create mode 100644 VectoCommon/VectoHashingTest/Testdata/XML/Sort/Axlegear_unsorted.xml diff --git a/VectoCommon/VectoHashingTest/Testdata/XML/Sort/Axlegear.xml b/VectoCommon/VectoHashingTest/Testdata/XML/Sort/Axlegear.xml new file mode 100644 index 0000000000..0e1d5a8c4d --- /dev/null +++ b/VectoCommon/VectoHashingTest/Testdata/XML/Sort/Axlegear.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.10.1" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationComponent:v2.10" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.10.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1" xmlns:di="http://www.w3.org/2000/09/xmldsig#" schemaVersion="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationComponent v:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationComponent.xsd"> + <tns:Axlegear xsi:type="v2.0:AxlegearComponentDeclarationType"> + <v2.0:Data xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:AxlegearDataDeclarationType" id="AXL-asdf"> + <Manufacturer>Generic Vendor</Manufacturer> + <Model>Generic Model</Model> + <CertificationNumber>AXL-AXL_12</CertificationNumber> + <Date>2021-11-18T14:23:31.4958567Z</Date> + <AppVersion>VectoCore</AppVersion> + <LineType>Single portal axle</LineType> + <Ratio>1.000</Ratio> + <CertificationMethod>Measured</CertificationMethod> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="-50000.10" torqueLoss="2000.10" /> + <Entry inputSpeed="0.00" inputTorque="-125.10" torqueLoss="5.10" /> + <Entry inputSpeed="0.00" inputTorque="0.10" torqueLoss="5.10" /> + <Entry inputSpeed="0.00" inputTorque="125.10" torqueLoss="5.10" /> + <Entry inputSpeed="0.00" inputTorque="50000.10" torqueLoss="2000.10" /> + <Entry inputSpeed="5000.00" inputTorque="-50000.10" torqueLoss="2000.10" /> + <Entry inputSpeed="5000.00" inputTorque="-780.10" torqueLoss="31.10" /> + <Entry inputSpeed="5000.00" inputTorque="0.10" torqueLoss="31.10" /> + <Entry inputSpeed="5000.00" inputTorque="780.10" torqueLoss="31.10" /> + <Entry inputSpeed="5000.00" inputTorque="50000.10" torqueLoss="2000.10" /> + </TorqueLossMap> + </v2.0:Data> + <v2.0:Signature> + <di:Reference URI="#AXL-asdf"> + <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>og41nROicUT1OoesUTZ9/uoroCUbqlTo7nKmCRYQap4=</di:DigestValue> + </di:Reference> + </v2.0:Signature> + </tns:Axlegear> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCommon/VectoHashingTest/Testdata/XML/Sort/Axlegear_unsorted.xml b/VectoCommon/VectoHashingTest/Testdata/XML/Sort/Axlegear_unsorted.xml new file mode 100644 index 0000000000..594370654f --- /dev/null +++ b/VectoCommon/VectoHashingTest/Testdata/XML/Sort/Axlegear_unsorted.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<tns:VectoInputDeclaration xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.10.1" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationComponent:v2.10" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.10.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.10.1" xmlns:di="http://www.w3.org/2000/09/xmldsig#" schemaVersion="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationComponent v:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationComponent.xsd"> + <tns:Axlegear xsi:type="v2.0:AxlegearComponentDeclarationType"> + <v2.0:Data xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xsi:type="v2.0:AxlegearDataDeclarationType" id="AXL-asdf"> + <Manufacturer>Generic Vendor</Manufacturer> + <Model>Generic Model</Model> + <CertificationNumber>AXL-AXL_12</CertificationNumber> + <Date>2021-11-18T14:23:31.4958567Z</Date> + <AppVersion>VectoCore</AppVersion> + <LineType>Single portal axle</LineType> + <Ratio>1.000</Ratio> + <CertificationMethod>Measured</CertificationMethod> + <TorqueLossMap> + <Entry inputSpeed="0.00" inputTorque="50000.10" torqueLoss="2000.10" /> + <Entry inputSpeed="5000.00" inputTorque="-50000.10" torqueLoss="2000.10" /> + <Entry inputSpeed="0.00" inputTorque="-50000.10" torqueLoss="2000.10" /> + <Entry inputSpeed="0.00" inputTorque="125.10" torqueLoss="5.10" /> + <Entry inputSpeed="5000.00" inputTorque="780.10" torqueLoss="31.10" /> + <Entry inputSpeed="5000.00" inputTorque="50000.10" torqueLoss="2000.10" /> + <Entry inputSpeed="5000.00" inputTorque="-780.10" torqueLoss="31.10" /> + <Entry inputSpeed="5000.00" inputTorque="0.10" torqueLoss="31.10" /> + <Entry inputSpeed="0.00" inputTorque="-125.10" torqueLoss="5.10" /> + <Entry inputSpeed="0.00" inputTorque="0.10" torqueLoss="5.10" /> + </TorqueLossMap> + </v2.0:Data> + <v2.0:Signature> + <di:Reference URI="#AXL-asdf"> + <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>og41nROicUT1OoesUTZ9/uoroCUbqlTo7nKmCRYQap4=</di:DigestValue> + </di:Reference> + </v2.0:Signature> + </tns:Axlegear> +</tns:VectoInputDeclaration> \ No newline at end of file diff --git a/VectoCommon/VectoHashingTest/VectoHashSortTest.cs b/VectoCommon/VectoHashingTest/VectoHashSortTest.cs index 6a20ac9c69..2a6f7c7c01 100644 --- a/VectoCommon/VectoHashingTest/VectoHashSortTest.cs +++ b/VectoCommon/VectoHashingTest/VectoHashSortTest.cs @@ -22,6 +22,12 @@ namespace VectoHashingTest xmlInputReader = _kernel.Get<IXMLInputDataReader>(); } + [TestCase(@"Testdata\XML\Sort\Axlegear.xml")] + public void TestHash(string filePath) + { + var loadedFile = VectoHash.Load(filePath); + var hash = loadedFile.ComputeHash(VectoComponents.Axlegear); + } [TestCase("ttvMnXYdQrEAu47QEO2AKyfzOdPSlcdsR/MrmH/mX+k=", @"Testdata\XML\Sort\Engine.xml"), TestCase("ttvMnXYdQrEAu47QEO2AKyfzOdPSlcdsR/MrmH/mX+k=", @"Testdata\XML\Sort\Engine_unsorted.xml")] @@ -30,7 +36,25 @@ namespace VectoHashingTest var loadedFile = VectoHash.Load(filePath); Assert.AreEqual(expectedHash, loadedFile.ComputeHash(VectoComponents.Engine)); } + + + [TestCase("hRzWfx3/El/LwEtP86Utm3dgBAF6CagrpEREsca7+/0=", @"Testdata\XML\Sort\Gearbox_APT-N_unsorted.xml"), + TestCase("XZCluPiG05mOAj5rTjTllCWbhCTEYVxCbE940ck3XsA=", @"Testdata\XML\Sort\Gearbox_IHPC_unsorted.xml"), + TestCase("LrsR3WfAkFia53dMiwGEIeAiA+9bdWvaS6x7dIL9yiQ=", @"Testdata\XML\Sort\Gearbox_FWD.xml"), + TestCase("LrsR3WfAkFia53dMiwGEIeAiA+9bdWvaS6x7dIL9yiQ=", @"Testdata\XML\Sort\Gearbox_FWD_unsorted.xml")] + public void TestGearboxComponentHashSort(string expectedHash, string filePath) + { + var loadedFile = VectoHash.Load(filePath); + Assert.AreEqual(expectedHash, loadedFile.ComputeHash(VectoComponents.Gearbox)); + } + [TestCase("og41nROicUT1OoesUTZ9/uoroCUbqlTo7nKmCRYQap4=", @"Testdata\XML\Sort\Axlegear.xml"), + TestCase("og41nROicUT1OoesUTZ9/uoroCUbqlTo7nKmCRYQap4=", @"Testdata\XML\Sort\Axlegear_unsorted.xml")] + public void TestAxlegearComponentHashSort(string expectedHash, string filePath) + { + var loadedFile = VectoHash.Load(filePath); + Assert.AreEqual(expectedHash, loadedFile.ComputeHash(VectoComponents.Axlegear)); + } [TestCase("NiyH2Xp0rQswwXIOf52Jm0wvK4Yc2/PL/T+zQCWQGFo=", @"Testdata\XML\Sort\ADC_unsorted.xml")] public void TestADCHashSort(string expectedHash, string filePath) @@ -63,16 +87,6 @@ namespace VectoHashingTest } - [TestCase("hRzWfx3/El/LwEtP86Utm3dgBAF6CagrpEREsca7+/0=", @"Testdata\XML\Sort\Gearbox_APT-N_unsorted.xml"), - TestCase("XZCluPiG05mOAj5rTjTllCWbhCTEYVxCbE940ck3XsA=", @"Testdata\XML\Sort\Gearbox_IHPC_unsorted.xml"), - TestCase("LrsR3WfAkFia53dMiwGEIeAiA+9bdWvaS6x7dIL9yiQ=", @"Testdata\XML\Sort\Gearbox_FWD.xml"), - TestCase("LrsR3WfAkFia53dMiwGEIeAiA+9bdWvaS6x7dIL9yiQ=", @"Testdata\XML\Sort\Gearbox_FWD_unsorted.xml")] - public void TestGearboxComponentHashSort(string expectedHash, string filePath) - { - var loadedFile = VectoHash.Load(filePath); - Assert.AreEqual(expectedHash, loadedFile.ComputeHash(VectoComponents.Gearbox)); - } - [TestCase("3L/fYxKTdIwzADHQMnUBPxcNwZNEHM+sKEC2M32UnEA=", @"Testdata\XML\Sort\IEPC_1_unsorted.xml"), TestCase("BTHs/Hh2SgycIwU5OSuTgU/2SptMvmRFvPXr2X1Y7XQ=", @"Testdata\XML\Sort\IEPC_StdValues_unsorted.xml")] public void TestIEPCHashSort(string expectedHash, string filePath) diff --git a/VectoCommon/VectoHashingTest/VectoHashingTest.csproj b/VectoCommon/VectoHashingTest/VectoHashingTest.csproj index 5ab0fefe58..0f7f557aa4 100644 --- a/VectoCommon/VectoHashingTest/VectoHashingTest.csproj +++ b/VectoCommon/VectoHashingTest/VectoHashingTest.csproj @@ -90,6 +90,12 @@ <Content Include="Testdata\XML\Sort\ADC_unsorted.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> + <Content Include="Testdata\XML\Sort\Axlegear.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="Testdata\XML\Sort\Axlegear_unsorted.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> <Content Include="Testdata\XML\Sort\BatterySystem_1_unsorted.xml"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> -- GitLab