From f559fc8b18d9d844ede9a2bb0b28a2d2709fd885 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Mon, 18 Jul 2022 16:40:59 +0200
Subject: [PATCH] additional testcases for complete buses and completed buses

---
 .../Conventional_completedBus_2.xml           |  87 ++++++
 .../CompletedBus/HEV_completedBus_2.xml       |  87 ++++++
 .../CompletedBus/IEPC_completedBus_2.xml      |  85 ++++++
 .../CompletedBus/PEV_completedBus_2.xml       |  85 ++++++
 .../VectoMockupTest/MockUpVectoTest.cs        | 256 ++++++++++++++----
 5 files changed, 550 insertions(+), 50 deletions(-)
 create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/CompletedBus/Conventional_completedBus_2.xml
 create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/CompletedBus/HEV_completedBus_2.xml
 create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/CompletedBus/IEPC_completedBus_2.xml
 create mode 100644 VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/CompletedBus/PEV_completedBus_2.xml

diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/CompletedBus/Conventional_completedBus_2.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/CompletedBus/Conventional_completedBus_2.xml
new file mode 100644
index 0000000000..50b0b88382
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/CompletedBus/Conventional_completedBus_2.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>
+<tns:VectoInputDeclaration xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.4" schemaVersion="2.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob V:\VectoCore\VectoCore\Resources\XSD\VectoDeclarationJob.xsd">
+	<v2.0:Vehicle id="VEH-1234567890" xsi:type="Vehicle_Conventional_CompletedBusDeclarationType">
+		<Manufacturer>Some Manufacturer</Manufacturer>
+		<ManufacturerAddress>Some Manufacturer Address</ManufacturerAddress>
+		<VIN>VEH-1234567890</VIN>
+		<Date>2021-06-30T22:00:00Z</Date>
+		<Model>Sample Bus Model</Model>
+		<LegislativeCategory>M3</LegislativeCategory>
+		<CorrectedActualMass>500</CorrectedActualMass>
+		<TechnicalPermissibleMaximumLadenMass>3500</TechnicalPermissibleMaximumLadenMass>
+		<AirdragModifiedMultistep>true</AirdragModifiedMultistep>
+		<ClassBus>II+III</ClassBus>
+		<NgTankSystem>Compressed</NgTankSystem><!-- optional -->
+		<NumberPassengerSeatsLowerDeck>1</NumberPassengerSeatsLowerDeck>
+		<NumberPassengersStandingLowerDeck>10</NumberPassengersStandingLowerDeck>
+		<NumberPassengerSeatsUpperDeck>11</NumberPassengerSeatsUpperDeck>
+		<NumberPassengersStandingUpperDeck>2</NumberPassengersStandingUpperDeck>
+		<BodyworkCode>CB</BodyworkCode>
+		<LowEntry>false</LowEntry>
+		<HeightIntegratedBody>2500</HeightIntegratedBody>
+		<VehicleLength>9500</VehicleLength>
+		<VehicleWidth>2500</VehicleWidth>
+		<EntranceHeight>2000</EntranceHeight>
+		<DoorDriveTechnology>electric</DoorDriveTechnology>
+		<VehicleDeclarationType>final</VehicleDeclarationType>
+		<ADAS xsi:type="ADAS_Conventional_Type">
+			<EngineStopStart>true</EngineStopStart>
+			<EcoRollWithoutEngineStop>false</EcoRollWithoutEngineStop>
+			<EcoRollWithEngineStop>false</EcoRollWithEngineStop>
+			<PredictiveCruiseControl>none</PredictiveCruiseControl>
+			<APTEcoRollReleaseLockupClutch>true</APTEcoRollReleaseLockupClutch>
+		</ADAS>
+		<Components xsi:type="Components_Conventional_CompletedBusType">
+			<AirDrag>
+				<v2.0:Data id="CabinX23h" xsi:type="v2.0:AirDragDataDeclarationType">
+					<v2.0:Manufacturer>Generic Manufacturer</v2.0:Manufacturer>
+					<v2.0:Model>Generic Model</v2.0:Model>
+					<v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber>
+					<v2.0:Date>2017-03-24T15:00:00Z</v2.0:Date>
+					<v2.0:AppVersion>Vecto AirDrag x.y</v2.0:AppVersion>
+					<v2.0:CdxA_0>6.31</v2.0:CdxA_0>
+					<v2.0:TransferredCdxA>6.32</v2.0:TransferredCdxA>
+					<v2.0:DeclaredCdxA>6.34</v2.0:DeclaredCdxA>
+				</v2.0:Data>
+				<v2.0:Signature>
+					<di:Reference URI="#CabinX23h">
+						<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>NroIsfnT7+1zYG5CTHxpclh0ZaRZvGyrfFPmWdKbFbg=</di:DigestValue>
+					</di:Reference>
+				</v2.0:Signature>
+			</AirDrag>
+			<Auxiliaries>
+				<Data xsi:type="AUX_Conventional_CompletedBusType">
+					<ElectricSystem>
+						<LEDLights>
+							<Interiorlights>false</Interiorlights>
+							<Dayrunninglights>true</Dayrunninglights>
+							<Positionlights>true</Positionlights>
+							<Brakelights>true</Brakelights>
+							<Headlights>false</Headlights>
+						</LEDLights>
+					</ElectricSystem>
+					<HVAC>
+						<SystemConfiguration>1</SystemConfiguration>
+						<HeatPumpTypeDriverCompartment>
+							<Cooling>non R-744 2-stage</Cooling>
+							<Heating>none</Heating>
+						</HeatPumpTypeDriverCompartment>
+						<HeatPumpTypePassengerCompartment>
+							<Cooling>non R-744 3-stage</Cooling>
+							<Heating>none</Heating>
+						</HeatPumpTypePassengerCompartment>
+						<AuxiliaryHeaterPower>50</AuxiliaryHeaterPower>
+						<DoubleGlazing>false</DoubleGlazing>
+						<AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater>
+						<SeparateAirDistributionDucts>true</SeparateAirDistributionDucts>
+					</HVAC>
+				</Data>
+			</Auxiliaries>
+		</Components>
+	</v2.0:Vehicle>
+</tns:VectoInputDeclaration>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/CompletedBus/HEV_completedBus_2.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/CompletedBus/HEV_completedBus_2.xml
new file mode 100644
index 0000000000..0a35e5eda6
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/CompletedBus/HEV_completedBus_2.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>
+<tns:VectoInputDeclaration xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.4" schemaVersion="2.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob V:\VectoCore\VectoCore\Resources\XSD\VectoDeclarationJob.xsd">
+	<v2.0:Vehicle id="VEH-1234567890" xsi:type="Vehicle_HEV_CompletedBusDeclarationType">
+		<Manufacturer>Some Manufacturer</Manufacturer>
+		<ManufacturerAddress>Some Manufacturer Address</ManufacturerAddress>
+		<VIN>VEH-1234567890</VIN>
+		<Date>2021-06-30T22:00:00Z</Date>
+		<Model>Sample Bus Model</Model>
+		<LegislativeCategory>M3</LegislativeCategory>
+		<CorrectedActualMass>500</CorrectedActualMass>
+		<TechnicalPermissibleMaximumLadenMass>3500</TechnicalPermissibleMaximumLadenMass>
+		<AirdragModifiedMultistep>true</AirdragModifiedMultistep>
+		<ClassBus>II+III</ClassBus>
+		<NgTankSystem>Compressed</NgTankSystem><!-- optional -->
+		<NumberPassengerSeatsLowerDeck>1</NumberPassengerSeatsLowerDeck>
+		<NumberPassengersStandingLowerDeck>10</NumberPassengersStandingLowerDeck>
+		<NumberPassengerSeatsUpperDeck>11</NumberPassengerSeatsUpperDeck>
+		<NumberPassengersStandingUpperDeck>2</NumberPassengersStandingUpperDeck>
+		<BodyworkCode>CB</BodyworkCode>
+		<LowEntry>false</LowEntry>
+		<HeightIntegratedBody>2500</HeightIntegratedBody>
+		<VehicleLength>9500</VehicleLength>
+		<VehicleWidth>2500</VehicleWidth>
+		<EntranceHeight>2000</EntranceHeight>
+		<DoorDriveTechnology>electric</DoorDriveTechnology>
+		<VehicleDeclarationType>interim</VehicleDeclarationType>
+		<ADAS xsi:type="ADAS_HEV_Type">
+			<EngineStopStart>true</EngineStopStart>
+			<PredictiveCruiseControl>none</PredictiveCruiseControl>
+		</ADAS>
+		<Components xsi:type="Components_xEV_CompletedBusType">
+			<AirDrag>
+				<v2.0:Data id="CabinX23h" xsi:type="v2.0:AirDragDataDeclarationType">
+					<v2.0:Manufacturer>Generic Manufacturer</v2.0:Manufacturer>
+					<v2.0:Model>Generic Model</v2.0:Model>
+					<v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber>
+					<v2.0:Date>2017-03-24T15:00:00Z</v2.0:Date>
+					<v2.0:AppVersion>Vecto AirDrag x.y</v2.0:AppVersion>
+					<v2.0:CdxA_0>6.31</v2.0:CdxA_0>
+					<v2.0:TransferredCdxA>6.32</v2.0:TransferredCdxA>
+					<v2.0:DeclaredCdxA>6.34</v2.0:DeclaredCdxA>
+				</v2.0:Data>
+				<v2.0:Signature>
+					<di:Reference URI="#CabinX23h">
+						<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>NroIsfnT7+1zYG5CTHxpclh0ZaRZvGyrfFPmWdKbFbg=</di:DigestValue>
+					</di:Reference>
+				</v2.0:Signature>
+			</AirDrag>
+			<Auxiliaries>
+				<Data xsi:type="AUX_xEV_CompletedBusType">
+					<ElectricSystem>
+						<LEDLights>
+							<Interiorlights>false</Interiorlights>
+							<Dayrunninglights>true</Dayrunninglights>
+							<Positionlights>true</Positionlights>
+							<Brakelights>true</Brakelights>
+							<Headlights>false</Headlights>
+						</LEDLights>
+					</ElectricSystem>
+					<HVAC>
+						<SystemConfiguration>0</SystemConfiguration>
+						<HeatPumpTypeDriverCompartment>
+							<Cooling>non R-744 2-stage</Cooling>
+							<Heating>none</Heating>
+						</HeatPumpTypeDriverCompartment>
+						<HeatPumpTypePassengerCompartment>
+							<Cooling>non R-744 3-stage</Cooling>
+							<Heating>none</Heating>
+						</HeatPumpTypePassengerCompartment>
+						<AuxiliaryHeaterPower>50</AuxiliaryHeaterPower>
+						<DoubleGlazing>false</DoubleGlazing>
+						<AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater>
+						<SeparateAirDistributionDucts>false</SeparateAirDistributionDucts>
+						<WaterElectricHeater>false</WaterElectricHeater>
+						<AirElectricHeater>false</AirElectricHeater>
+						<OtherHeatingTechnology>false</OtherHeatingTechnology>
+					</HVAC>
+				</Data>
+			</Auxiliaries>
+		</Components>
+	</v2.0:Vehicle>
+</tns:VectoInputDeclaration>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/CompletedBus/IEPC_completedBus_2.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/CompletedBus/IEPC_completedBus_2.xml
new file mode 100644
index 0000000000..656f9a0048
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/CompletedBus/IEPC_completedBus_2.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<tns:VectoInputDeclaration xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.4" schemaVersion="2.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob V:\VectoCore\VectoCore\Resources\XSD\VectoDeclarationJob.xsd">
+	<v2.0:Vehicle id="VEH-1234567890" xsi:type="Vehicle_IEPC_CompletedBusDeclarationType">
+		<Manufacturer>Some Manufacturer</Manufacturer>
+		<ManufacturerAddress>Some Manufacturer Address</ManufacturerAddress>
+		<VIN>VEH-1234567890</VIN>
+		<Date>2021-06-30T22:00:00Z</Date>
+		<Model>Sample Bus Model</Model>
+		<LegislativeCategory>M3</LegislativeCategory>
+		<CorrectedActualMass>500</CorrectedActualMass>
+		<TechnicalPermissibleMaximumLadenMass>3500</TechnicalPermissibleMaximumLadenMass>
+		<AirdragModifiedMultistep>true</AirdragModifiedMultistep>
+		<ClassBus>II+III</ClassBus>
+		<NumberPassengerSeatsLowerDeck>1</NumberPassengerSeatsLowerDeck>
+		<NumberPassengersStandingLowerDeck>10</NumberPassengersStandingLowerDeck>
+		<NumberPassengerSeatsUpperDeck>11</NumberPassengerSeatsUpperDeck>
+		<NumberPassengersStandingUpperDeck>2</NumberPassengersStandingUpperDeck>
+		<BodyworkCode>CB</BodyworkCode>
+		<LowEntry>false</LowEntry>
+		<HeightIntegratedBody>2500</HeightIntegratedBody>
+		<VehicleLength>9500</VehicleLength>
+		<VehicleWidth>2500</VehicleWidth>
+		<EntranceHeight>2000</EntranceHeight>
+		<DoorDriveTechnology>electric</DoorDriveTechnology>
+		<VehicleDeclarationType>interim</VehicleDeclarationType>
+		<ADAS xsi:type="ADAS_IEPC_Type">
+			<PredictiveCruiseControl>none</PredictiveCruiseControl>
+		</ADAS>
+		<Components xsi:type="Components_xEV_CompletedBusType">
+			<AirDrag>
+				<v2.0:Data id="CabinX23h" xsi:type="v2.0:AirDragDataDeclarationType">
+					<v2.0:Manufacturer>Generic Manufacturer</v2.0:Manufacturer>
+					<v2.0:Model>Generic Model</v2.0:Model>
+					<v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber>
+					<v2.0:Date>2017-03-24T15:00:00Z</v2.0:Date>
+					<v2.0:AppVersion>Vecto AirDrag x.y</v2.0:AppVersion>
+					<v2.0:CdxA_0>6.31</v2.0:CdxA_0>
+					<v2.0:TransferredCdxA>6.32</v2.0:TransferredCdxA>
+					<v2.0:DeclaredCdxA>6.34</v2.0:DeclaredCdxA>
+				</v2.0:Data>
+				<v2.0:Signature>
+					<di:Reference URI="#CabinX23h">
+						<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>NroIsfnT7+1zYG5CTHxpclh0ZaRZvGyrfFPmWdKbFbg=</di:DigestValue>
+					</di:Reference>
+				</v2.0:Signature>
+			</AirDrag>
+			<Auxiliaries>
+				<Data xsi:type="AUX_xEV_CompletedBusType">
+					<ElectricSystem>
+						<LEDLights>
+							<Interiorlights>false</Interiorlights>
+							<Dayrunninglights>true</Dayrunninglights>
+							<Positionlights>true</Positionlights>
+							<Brakelights>true</Brakelights>
+							<Headlights>false</Headlights>
+						</LEDLights>
+					</ElectricSystem>
+					<HVAC>
+						<SystemConfiguration>0</SystemConfiguration>
+						<HeatPumpTypeDriverCompartment>
+							<Cooling>non R-744 2-stage</Cooling>
+							<Heating>none</Heating>
+						</HeatPumpTypeDriverCompartment>
+						<HeatPumpTypePassengerCompartment>
+							<Cooling>non R-744 3-stage</Cooling>
+							<Heating>none</Heating>
+						</HeatPumpTypePassengerCompartment>
+						<AuxiliaryHeaterPower>50</AuxiliaryHeaterPower>
+						<DoubleGlazing>false</DoubleGlazing>
+						<AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater>
+						<SeparateAirDistributionDucts>false</SeparateAirDistributionDucts>
+						<WaterElectricHeater>false</WaterElectricHeater>
+						<AirElectricHeater>false</AirElectricHeater>
+						<OtherHeatingTechnology>false</OtherHeatingTechnology>
+					</HVAC>
+				</Data>
+			</Auxiliaries>
+		</Components>
+	</v2.0:Vehicle>
+</tns:VectoInputDeclaration>
diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/CompletedBus/PEV_completedBus_2.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/CompletedBus/PEV_completedBus_2.xml
new file mode 100644
index 0000000000..b6a025e192
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.4/Distributed/CompletedBus/PEV_completedBus_2.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<tns:VectoInputDeclaration xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.4" schemaVersion="2.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob V:\VectoCore\VectoCore\Resources\XSD\VectoDeclarationJob.xsd">
+	<v2.0:Vehicle id="VEH-1234567890" xsi:type="Vehicle_PEV_CompletedBusDeclarationType">
+		<Manufacturer>Some Manufacturer</Manufacturer>
+		<ManufacturerAddress>Some Manufacturer Address</ManufacturerAddress>
+		<VIN>VEH-1234567890</VIN>
+		<Date>2021-06-30T22:00:00Z</Date>
+		<Model>Sample Bus Model</Model>
+		<LegislativeCategory>M3</LegislativeCategory>
+		<CorrectedActualMass>500</CorrectedActualMass>
+		<TechnicalPermissibleMaximumLadenMass>3500</TechnicalPermissibleMaximumLadenMass>
+		<AirdragModifiedMultistep>true</AirdragModifiedMultistep>
+		<ClassBus>II+III</ClassBus>
+		<NumberPassengerSeatsLowerDeck>1</NumberPassengerSeatsLowerDeck>
+		<NumberPassengersStandingLowerDeck>10</NumberPassengersStandingLowerDeck>
+		<NumberPassengerSeatsUpperDeck>11</NumberPassengerSeatsUpperDeck>
+		<NumberPassengersStandingUpperDeck>2</NumberPassengersStandingUpperDeck>
+		<BodyworkCode>CB</BodyworkCode>
+		<LowEntry>false</LowEntry>
+		<HeightIntegratedBody>2500</HeightIntegratedBody>
+		<VehicleLength>9500</VehicleLength>
+		<VehicleWidth>2500</VehicleWidth>
+		<EntranceHeight>2000</EntranceHeight>
+		<DoorDriveTechnology>electric</DoorDriveTechnology>
+		<VehicleDeclarationType>interim</VehicleDeclarationType>
+		<ADAS xsi:type="ADAS_PEV_Type">
+			<PredictiveCruiseControl>none</PredictiveCruiseControl>
+		</ADAS>
+		<Components xsi:type="Components_xEV_CompletedBusType">
+			<AirDrag>
+				<v2.0:Data id="CabinX23h" xsi:type="v2.0:AirDragDataDeclarationType">
+					<v2.0:Manufacturer>Generic Manufacturer</v2.0:Manufacturer>
+					<v2.0:Model>Generic Model</v2.0:Model>
+					<v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber>
+					<v2.0:Date>2017-03-24T15:00:00Z</v2.0:Date>
+					<v2.0:AppVersion>Vecto AirDrag x.y</v2.0:AppVersion>
+					<v2.0:CdxA_0>6.31</v2.0:CdxA_0>
+					<v2.0:TransferredCdxA>6.32</v2.0:TransferredCdxA>
+					<v2.0:DeclaredCdxA>6.34</v2.0:DeclaredCdxA>
+				</v2.0:Data>
+				<v2.0:Signature>
+					<di:Reference URI="#CabinX23h">
+						<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>NroIsfnT7+1zYG5CTHxpclh0ZaRZvGyrfFPmWdKbFbg=</di:DigestValue>
+					</di:Reference>
+				</v2.0:Signature>
+			</AirDrag>
+			<Auxiliaries>
+				<Data xsi:type="AUX_xEV_CompletedBusType">
+					<ElectricSystem>
+						<LEDLights>
+							<Interiorlights>false</Interiorlights>
+							<Dayrunninglights>true</Dayrunninglights>
+							<Positionlights>true</Positionlights>
+							<Brakelights>true</Brakelights>
+							<Headlights>false</Headlights>
+						</LEDLights>
+					</ElectricSystem>
+					<HVAC>
+						<SystemConfiguration>0</SystemConfiguration>
+						<HeatPumpTypeDriverCompartment>
+							<Cooling>non R-744 2-stage</Cooling>
+							<Heating>none</Heating>
+						</HeatPumpTypeDriverCompartment>
+						<HeatPumpTypePassengerCompartment>
+							<Cooling>non R-744 3-stage</Cooling>
+							<Heating>none</Heating>
+						</HeatPumpTypePassengerCompartment>
+						<AuxiliaryHeaterPower>50</AuxiliaryHeaterPower>
+						<DoubleGlazing>false</DoubleGlazing>
+						<AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater>
+						<SeparateAirDistributionDucts>false</SeparateAirDistributionDucts>
+						<WaterElectricHeater>false</WaterElectricHeater>
+						<AirElectricHeater>false</AirElectricHeater>
+						<OtherHeatingTechnology>false</OtherHeatingTechnology>
+					</HVAC>
+				</Data>
+			</Auxiliaries>
+		</Components>
+	</v2.0:Vehicle>
+</tns:VectoInputDeclaration>
diff --git a/VectoMockup/VectoMockupTest/MockUpVectoTest.cs b/VectoMockup/VectoMockupTest/MockUpVectoTest.cs
index 88f5f92356..168c0e268b 100644
--- a/VectoMockup/VectoMockupTest/MockUpVectoTest.cs
+++ b/VectoMockup/VectoMockupTest/MockUpVectoTest.cs
@@ -5,6 +5,7 @@ using System.IO;
 using System.IO.Compression;
 using System.Xml;
 using System.Xml.Linq;
+using Newtonsoft.Json;
 using Ninject;
 using NUnit.Framework;
 using TUGraz.VectoCommon.Exceptions;
@@ -19,7 +20,9 @@ using TUGraz.VectoCore.Models.Simulation.Impl;
 using TUGraz.VectoCore.Models.Simulation.Impl.SimulatorFactory;
 using TUGraz.VectoCore.OutputData;
 using TUGraz.VectoCore.OutputData.FileIO;
+using TUGraz.VectoCore.Tests.Utils;
 using TUGraz.VectoCore.Tests.XML.Reports;
+using Formatting = System.Xml.Formatting;
 using XmlDocumentType = TUGraz.VectoCore.Utils.XmlDocumentType;
 
 namespace VectoMockupTest
@@ -37,7 +40,7 @@ namespace VectoMockupTest
 
 		private IKernel _vectoKernel;
 		private ISimulatorFactoryFactory _simFactoryFactory;
-		private ISimulatorFactory _simulatorFactory;
+		//private ISimulatorFactory _simulatorFactory;
 		private IXMLInputDataReader _inputDataReader;
 
 		#region Lorry Testfiles
@@ -69,6 +72,16 @@ namespace VectoMockupTest
 		protected const string PEV_E4_PrimaryBus = BasePath + @"PrimaryBus\PEV_primaryBus_E4.xml";
 		protected const string PEV_IEPC_PrimaryBus = BasePath + @"PrimaryBus\IEPC_primaryBus.xml";
 
+		#endregion
+
+		#region Complete(d) Bus Input
+
+		protected const string Conventional_CompletedBusInput = BasePath + @"CompletedBus\Conventional_completedBus_2.xml";
+		protected const string HEV_CompletedBusInput = BasePath + @"CompletedBus\HEV_completedBus_2.xml";
+		protected const string PEV_CompletedBusInput = BasePath + @"CompletedBus\PEV_completedBus_2.xml";
+		protected const string PEV_IEPC_CompletedBusInput = BasePath + @"CompletedBus\IEPC_completedBus_2.xml";
+
+
 		#endregion
 
 		#region interim bus
@@ -78,20 +91,20 @@ namespace VectoMockupTest
 
 		protected const string Conventional_StageInput =
 			@"TestData\XML\XMLReaderDeclaration\SchemaVersion2.4\vecto_vehicle-stage_input_full-sample.xml";
-		#endregion
+#endregion
 
-		#region completed bus
+#region completed bus
 
 		protected const string Conventional_CompletedBus = @"TestData\XML\XMLReaderDeclaration\SchemaVersionMultistage.0.1\vecto_multistage_conventional_final_vif.VIF_Report_1.xml";
-		#endregion
+#endregion
 
-		#region special cases multistage
+#region special cases multistage
 
 		private const string TestDataDir = "TestData\\";
 
-		private const string CompletedDiesel = TestDataDir + "Integration\\Multistage\\newVifCompletedConventional.vecto";
-		private const string CompletedExempted = TestDataDir + "Integration\\Multistage\\newVifExempted.vecto";
-		private const string CompletedExemptedWithoutTPMLM = TestDataDir + "Integration\\Multistage\\newVifExempted-noTPMLM.vecto";
+		private const string CompleteDiesel = TestDataDir + "Integration\\Multistage\\newVifCompletedConventional.vecto";
+		private const string CompleteExempted = TestDataDir + "Integration\\Multistage\\newVifExempted.vecto";
+		private const string CompleteExemptedWithoutTPMLM = TestDataDir + "Integration\\Multistage\\newVifExempted-noTPMLM.vecto";
 		private string CompletedWithoutADAS = TestDataDir + "Integration\\Multistage\\newVifCompletedConventional-noADAS.vecto";
 
 
@@ -101,15 +114,15 @@ namespace VectoMockupTest
 		private const string InterimDiesel = TestDataDir + "Integration\\Multistage\\newVifInterimDiesel.vecto";
 
 
-		#endregion
+#endregion
 
-		#region GroupTest
+#region GroupTest
 
 		private const string GroupTestDir = @"TestData\XML\XMLReaderDeclaration\GroupTest\";
 		
 
 
-		#endregion
+#endregion
 
 
 
@@ -192,7 +205,7 @@ namespace VectoMockupTest
 			var sumWriter = new SummaryDataContainer(fileWriter);
 			var jobContainer = new JobContainer(sumWriter);
 
-			_simulatorFactory =
+			var _simulatorFactory =
 				_simFactoryFactory.Factory(ExecutionMode.Declaration, inputProvider, fileWriter, null, null, true);
 			Clearfiles(fileWriter);
 			jobContainer.AddRuns(_simulatorFactory);
@@ -222,7 +235,7 @@ namespace VectoMockupTest
 			var sumWriter = new SummaryDataContainer(fileWriter);
 			var jobContainer = new JobContainer(sumWriter);
 
-			_simulatorFactory =
+			var _simulatorFactory =
 				_simFactoryFactory.Factory(ExecutionMode.Declaration, inputProvider, fileWriter, null, null, true);
 
 			Clearfiles(fileWriter); //remove files from previous test runs
@@ -249,7 +262,7 @@ namespace VectoMockupTest
 
 			var inputData = new XMLDeclarationVIFInputData(multistageBusInput, stageInput.JobInputData.Vehicle);
 
-			_simulatorFactory =
+			var _simulatorFactory =
 				_simFactoryFactory.Factory(ExecutionMode.Declaration, inputData, fileWriter, null, null, true);
 			Clearfiles(fileWriter);
 			jobContainer.AddRuns(_simulatorFactory);
@@ -275,7 +288,7 @@ namespace VectoMockupTest
 			var sumWriter = new SummaryDataContainer(fileWriter);
 			var jobContainer = new JobContainer(sumWriter);
 
-			_simulatorFactory =
+			var _simulatorFactory =
 				_simFactoryFactory.Factory(ExecutionMode.Declaration, input, fileWriter, null, null, true);
 			Clearfiles(fileWriter);
 			jobContainer.AddRuns(_simulatorFactory);
@@ -284,16 +297,16 @@ namespace VectoMockupTest
 			CheckFileExists(fileWriter, checkCif: true, checkVif: false);
 		}
 
-		[TestCase(CompletedDiesel, TestName="CompletedDiesel")]
-        [TestCase(CompletedExempted, TestName = "CompleteExempted Bus")]
-        [TestCase(CompletedExemptedWithoutTPMLM, TestName = "CompletedExempted No TPMLM")]
+		[TestCase(CompleteDiesel, TestName="CompleteDiesel")]
+        [TestCase(CompleteExempted, TestName = "CompleteExempted Bus")]
+        [TestCase(CompleteExemptedWithoutTPMLM, TestName = "CompleteExempted No TPMLM")]
 		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 =
+			var _simulatorFactory =
 				_simFactoryFactory.Factory(ExecutionMode.Declaration, input, fileWriter, null, null, true);
 			Clearfiles(fileWriter);
 			jobContainer.AddRuns(_simulatorFactory);
@@ -302,6 +315,7 @@ namespace VectoMockupTest
 			CheckFileExists(fileWriter, checkCif: true, checkVif: true, checkMrf: true, checkPrimaryMrf: true);
 		}
 
+
 		[TestCase(InterimDiesel, TestName = "PrimaryAndInterim")]
 		public void PrimaryAndInterim(string fileName)
 		{
@@ -310,7 +324,7 @@ namespace VectoMockupTest
 			var sumWriter = new SummaryDataContainer(fileWriter);
 			var jobContainer = new JobContainer(sumWriter);
 			var input = JSONInputDataFactory.ReadJsonJob(fileName);
-			_simulatorFactory =
+			var _simulatorFactory =
 				_simFactoryFactory.Factory(ExecutionMode.Declaration, input, fileWriter, null, null, true);
 			Clearfiles(fileWriter);
 			jobContainer.AddRuns(_simulatorFactory);
@@ -322,10 +336,149 @@ namespace VectoMockupTest
 
 		}
 
+        [TestCase(Conventional_PrimaryBus_Tyres, Conventional_CompletedBusInput, TestName = "Complete Conventional Bus Different Tyres")]
+		[TestCase(HEV_IEPC_S_PrimaryBus, HEV_CompletedBusInput, TestName = "Complete HEV_IEPC_S_PrimaryBus")]
+		[TestCase(HEV_Px_IHPC_PrimaryBus, HEV_CompletedBusInput, TestName = "Complete HEV_Px_PrimaryBus")]
+		[TestCase(HEV_S2_PrimaryBus, HEV_CompletedBusInput, TestName = "Complete HEV_S2_PrimaryBus")]
+		[TestCase(HEV_S3_PrimaryBus, HEV_CompletedBusInput, TestName = "Complete HEV_S3_PrimaryBus")]
+		[TestCase(HEV_S4_PrimaryBus, HEV_CompletedBusInput, TestName = "Complete HEV_S4_PrimaryBus")]
+		[TestCase(PEV_E2_PrimaryBus, PEV_CompletedBusInput, TestName = "Complete PEV_E2_PrimaryBus")]
+		[TestCase(PEV_E3_PrimaryBus, PEV_CompletedBusInput, TestName = "Complete PEV_E3_PrimaryBus")]
+		[TestCase(PEV_E4_PrimaryBus, PEV_CompletedBusInput, TestName = "Complete PEV_E4_PrimaryBus")]
+		[TestCase(PEV_IEPC_PrimaryBus, PEV_IEPC_CompletedBusInput, TestName = "Complete PEV_IEPC_PrimaryBus")]
+		public void CompleteTest(string primaryBusInput, string completeBusInput)
+		{
+			// complete: primary input + complete input (full) => MRF Primary, VIF (step 1), MRF Complete, CIF Complete
+			// (approach: first simulate primary on its own to have an up-to-date VIF
+			// (no need to maintain this in the testfiles)
+
+			
+			var completeJob = GenerateJsonJobCompleteBus(primaryBusInput, completeBusInput, TestContext.CurrentContext.Test.Name);
+			var completeBusinput = JSONInputDataFactory.ReadJsonJob(completeJob);
+			var completeFileWriter = GetOutputFileWriter(TestContext.CurrentContext.Test.Name, completeBusInput);
+			var completeSumWriter = new SummaryDataContainer(completeFileWriter);
+			var completeJobContainer = new JobContainer(completeSumWriter);
+
+			var completedSimulatorFactory =
+				_simFactoryFactory.Factory(ExecutionMode.Declaration, completeBusinput, completeFileWriter, null, null, true);
+
+			Clearfiles(completeFileWriter); //remove files from previous test runs
+			completeJobContainer.AddRuns(completedSimulatorFactory);
+			completeJobContainer.Execute(false);
+			completeJobContainer.WaitFinished();
+
+			// assertions
+
+			CheckFileExists(completeFileWriter, checkPrimaryMrf: true, checkVif: true, checkCif: true, checkMrf: true);
+		}
+
+
+
+		[TestCase(Conventional_PrimaryBus_Tyres, Conventional_CompletedBusInput, TestName = "Completed Conventional Bus Different Tyres")]
+		[TestCase(HEV_IEPC_S_PrimaryBus, HEV_CompletedBusInput, TestName = "Completed HEV_IEPC_S_PrimaryBus")]
+		[TestCase(HEV_Px_IHPC_PrimaryBus, HEV_CompletedBusInput, TestName = "Completed HEV_Px_PrimaryBus")]
+		[TestCase(HEV_S2_PrimaryBus, HEV_CompletedBusInput, TestName = "Completed HEV_S2_PrimaryBus")]
+		[TestCase(HEV_S3_PrimaryBus, HEV_CompletedBusInput, TestName = "Completed HEV_S3_PrimaryBus")]
+		[TestCase(HEV_S4_PrimaryBus, HEV_CompletedBusInput, TestName = "Completed HEV_S4_PrimaryBus")]
+		[TestCase(PEV_E2_PrimaryBus, PEV_CompletedBusInput, TestName = "Completed PEV_E2_PrimaryBus")]
+		[TestCase(PEV_E3_PrimaryBus, PEV_CompletedBusInput, TestName = "Completed PEV_E3_PrimaryBus")]
+		[TestCase(PEV_E4_PrimaryBus, PEV_CompletedBusInput, TestName = "Completed PEV_E4_PrimaryBus")]
+		[TestCase(PEV_IEPC_PrimaryBus, PEV_IEPC_CompletedBusInput, TestName = "Completed PEV_IEPC_PrimaryBus")]
+		public void CompletedTest(string primaryBusInput, string completeBusInput)
+		{
+			// completed: VIF + complete input (full) =>  VIF , MRF Completed, CIF Completed
+			// (approach: first simulate primary on its own to have an up-to-date VIF
+			// (no need to maintain this in the testfiles)
+
+			// setting up testcase 
+			// run primary simulation
+			var inputProvider = _inputDataReader.Create(primaryBusInput);
+			var fileWriter = GetOutputFileWriter(TestContext.CurrentContext.Test.Name, primaryBusInput);
+			var sumWriter = new SummaryDataContainer(fileWriter);
+			var jobContainer = new JobContainer(sumWriter);
+
+			var _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, checkPrimaryReport: true, checkMrf: true);
+			File.Delete(fileWriter.XMLFullReportName);
+
+			// done preparing testcase...
+
+			// this is the actual test: run completed simulation
+
+			var completedJob = GenerateJsonJobCompletedBus(fileWriter.XMLPrimaryVehicleReportName, completeBusInput, TestContext.CurrentContext.Test.Name);
+			var completedInputData = CompletedVIF.CreateCompletedVif(
+				JSONInputDataFactory.ReadJsonJob(completedJob) as JSONInputDataCompletedBusFactorMethodV7,
+				_inputDataReader);
+			var completedFileWriter = GetOutputFileWriter(TestContext.CurrentContext.Test.Name, completeBusInput);
+			var completedSumWriter = new SummaryDataContainer(completedFileWriter);
+			var completedJobContainer = new JobContainer(completedSumWriter);
+
+			var completedSimulatorFactory =
+				_simFactoryFactory.Factory(ExecutionMode.Declaration, completedInputData, completedFileWriter, null, null, true);
+
+			Clearfiles(completedFileWriter); //remove files from previous test runs
+			completedJobContainer.AddRuns(completedSimulatorFactory);
+			completedJobContainer.Execute(false);
+			completedJobContainer.WaitFinished();
+
+			// assertions
+
+			CheckFileExists(completedFileWriter, checkCif: true, checkMrf: true, checkVif:true);
+
+
+		}
+
+		private string GenerateJsonJobCompletedBus(string vif, string completeBusInput, string subDirectory)
+		{
+			var header = new Dictionary<string, object>() {
+				{ "FileVersion", 7 }
+			};
+			var body = new Dictionary<string, object>() {
+				{ "PrimaryVehicleResults", vif },
+				{ "CompletedVehicle", Path.GetFullPath(completeBusInput) }
+			};
+			var json = new Dictionary<string, object>() {
+				{"Header", header},
+				{"Body", body}
+			};
 
+			subDirectory = Path.Combine("MockupReports", subDirectory);
+			Directory.CreateDirectory(Path.GetFullPath(subDirectory));
+			var path = Path.Combine(Path.Combine(Path.GetFullPath(subDirectory)), "completedJob.vecto");
+			var str = JsonConvert.SerializeObject(json, Newtonsoft.Json.Formatting.Indented);
+			File.WriteAllText(path, str);
+			return path;
+		}
 
 
+		private string GenerateJsonJobCompleteBus(string primaryBusInput, string completeBusInput, string subDirectory)
+		{
+			var header = new Dictionary<string, object>() {
+				{ "FileVersion", 10 }
+			};
+			var body = new Dictionary<string, object>() {
+				{ "PrimaryVehicle", Path.GetFullPath(primaryBusInput) },
+				{ "InterimStep", Path.GetFullPath(completeBusInput) }
+			};
+			var json = new Dictionary<string, object>() {
+				{"Header", header},
+				{"Body", body}
+			};
 
+			subDirectory = Path.Combine("MockupReports", subDirectory);
+			Directory.CreateDirectory(Path.GetFullPath(subDirectory));
+			var path = Path.Combine(Path.Combine(Path.GetFullPath(subDirectory)), "completeJob.vecto");
+			var str = JsonConvert.SerializeObject(json, Newtonsoft.Json.Formatting.Indented);
+			File.WriteAllText(path, str);
+			return path;
+		}
 
 		private static void CheckFileExists(FileOutputWriter fileWriter, 
 			bool checkMrf = true,
@@ -334,57 +487,60 @@ namespace VectoMockupTest
 			bool checkPrimaryMrf = false,
 			bool checkPrimaryReport = false)
 		{
+			var fail = false;
 			if (checkCif) {
-				if (!File.Exists(fileWriter.XMLCustomerReportName)) {
+				if (File.Exists(fileWriter.XMLCustomerReportName)) {
+					MRF_CIF_WriterTestBase.Validate(XDocument.Load(fileWriter.XMLCustomerReportName),
+						XmlDocumentType.CustomerReport);
+				} else {
 					TestContext.WriteLine(fileWriter.XMLCustomerReportName + " Missing\n");
-					Assert.Fail();
+					fail = true;
 				}
-
-				MRF_CIF_WriterTestBase.Validate(XDocument.Load(fileWriter.XMLCustomerReportName),
-					XmlDocumentType.CustomerReport);
 			}
 			if (checkMrf) {
-				if (!File.Exists(fileWriter.XMLFullReportName)) {
+				if (File.Exists(fileWriter.XMLFullReportName)) {
+					MRF_CIF_WriterTestBase.Validate(XDocument.Load(fileWriter.XMLFullReportName),
+						XmlDocumentType.ManufacturerReport);
+				} else {
 					TestContext.WriteLine(fileWriter.XMLFullReportName + " Missing\n");
-					Assert.Fail();
+					fail = true;
 				}
-
-				MRF_CIF_WriterTestBase.Validate(XDocument.Load(fileWriter.XMLFullReportName),
-					XmlDocumentType.ManufacturerReport);
 			}
 
 			var primaryMrfPath = fileWriter.XMLFullReportName.Replace("RSLT_MANUFACTURER", "RSLT_MANUFACTURER_PRIMARY");
 			if (checkPrimaryMrf) {
-				if (!File.Exists(primaryMrfPath)) {
+				if (File.Exists(primaryMrfPath)) {
+					MRF_CIF_WriterTestBase.Validate(XDocument.Load(primaryMrfPath), XmlDocumentType.ManufacturerReport);
+				} else {
 					TestContext.WriteLine(primaryMrfPath + " Missing\n");
-					Assert.Fail();
+					fail = true;
 				}
-
-				MRF_CIF_WriterTestBase.Validate(XDocument.Load(primaryMrfPath), XmlDocumentType.ManufacturerReport);
 			}
 
 
 			if (checkPrimaryReport) {
-				if (!File.Exists(fileWriter.XMLPrimaryVehicleReportName)) {
+				if (File.Exists(fileWriter.XMLPrimaryVehicleReportName)) {
+					MRF_CIF_WriterTestBase.Validate(XDocument.Load(fileWriter.XMLPrimaryVehicleReportName),
+						XmlDocumentType.MultistepOutputData);
+				} else {
 					TestContext.WriteLine(fileWriter.XMLPrimaryVehicleReportName + " Missing\n");
-					Assert.Fail();
+					fail = true;
 				}
-
-				MRF_CIF_WriterTestBase.Validate(XDocument.Load(fileWriter.XMLPrimaryVehicleReportName),
-					XmlDocumentType.MultistepOutputData);
 			}
 
-
 			if (checkVif) {
-				if (!File.Exists(fileWriter.XMLMultistageReportFileName)) {
+				if (File.Exists(fileWriter.XMLMultistageReportFileName)) {
+					MRF_CIF_WriterTestBase.Validate(XDocument.Load(fileWriter.XMLMultistageReportFileName),
+						XmlDocumentType.MultistepOutputData);
+				} else {
 					TestContext.WriteLine(fileWriter.XMLMultistageReportFileName + " Missing\n");
-					Assert.Fail();
+					fail = true;
 				}
-
-				MRF_CIF_WriterTestBase.Validate(XDocument.Load(fileWriter.XMLMultistageReportFileName),
-					XmlDocumentType.MultistepOutputData);
 			}
 
+			if (fail) {
+				Assert.Fail();
+			}
 			
 		}
 		
@@ -405,7 +561,7 @@ namespace VectoMockupTest
 			var sumWriter = new SummaryDataContainer(fileWriter);
 			var jobContainer = new JobContainer(sumWriter);
 
-			_simulatorFactory =
+			var _simulatorFactory =
 				_simFactoryFactory.Factory(ExecutionMode.Declaration, inputProvider, fileWriter, null, null, true);
 			Clearfiles(fileWriter);
 			jobContainer.AddRuns(_simulatorFactory);
@@ -434,7 +590,7 @@ namespace VectoMockupTest
 			var sumWriter = new SummaryDataContainer(fileWriter);
 			var jobContainer = new JobContainer(sumWriter);
 
-			_simulatorFactory =
+			var _simulatorFactory =
 				_simFactoryFactory.Factory(ExecutionMode.Declaration, inputProvider, fileWriter, null, null, true);
 			Clearfiles(fileWriter);
 			jobContainer.AddRuns(_simulatorFactory);
@@ -463,7 +619,7 @@ namespace VectoMockupTest
 			var sumWriter = new SummaryDataContainer(fileWriter);
 			var jobContainer = new JobContainer(sumWriter);
 
-			_simulatorFactory =
+			var _simulatorFactory =
 				_simFactoryFactory.Factory(ExecutionMode.Declaration, inputProvider, fileWriter, null, null, true);
 			Clearfiles(fileWriter);
 			jobContainer.AddRuns(_simulatorFactory);
@@ -489,7 +645,7 @@ namespace VectoMockupTest
 			var sumWriter = new SummaryDataContainer(fileWriter);
 			var jobContainer = new JobContainer(sumWriter);
 
-			_simulatorFactory = null!;
+			ISimulatorFactory _simulatorFactory = null!;
 			Assert.Throws(typeof(VectoException), () => {
 				_simulatorFactory =
 					_simFactoryFactory.Factory(ExecutionMode.Declaration, inputProvider, fileWriter, null, null, true);
@@ -553,7 +709,7 @@ namespace VectoMockupTest
 			var sumWriter = new SummaryDataContainer(fileWriter);
 			var jobContainer = new JobContainer(sumWriter);
 
-			_simulatorFactory =
+			var _simulatorFactory =
 				_simFactoryFactory.Factory(ExecutionMode.Declaration, inputProvider, fileWriter, null, null, true);
 			Clearfiles(fileWriter);
 			jobContainer.AddRuns(_simulatorFactory);
-- 
GitLab