diff --git a/VECTO/MainModule.vb b/VECTO/MainModule.vb
index ae7a4e1282019286494abc54de08ecc3d44c953b..25f0781d0d35175f7b3a506b8dd531e240f94c57 100644
--- a/VECTO/MainModule.vb
+++ b/VECTO/MainModule.vb
@@ -60,9 +60,12 @@ Module MainModule
 	End Function
 
 	Public Function GetRelativePath(filePath As String, basePath As String) As String
-		If (String.IsNullOrEmpty(filePath) OrElse String.IsNullOrEmpty(basePath)) Then
+		If (String.IsNullOrEmpty(filePath)) then
 			Return ""
 		End If
+        If (string.isnullOrempty(basePath)) Then
+            Return filePath
+        End If
 		If (Path.GetDirectoryName(filePath).StartsWith(basePath, StringComparison.OrdinalIgnoreCase)) Then
 			Return Path.GetFullPath(filePath).Substring(basePath.Length + If(basePath.EndsWith("\"), 0, 1))
 		End If
diff --git a/VECTO/OutputData/JSONFileWriter.vb b/VECTO/OutputData/JSONFileWriter.vb
index 35935860691cf18f494bf1713dabef4667dfc8dc..7d95b1e2e47f8a522ec65e7492b04fa2e155238c 100644
--- a/VECTO/OutputData/JSONFileWriter.vb
+++ b/VECTO/OutputData/JSONFileWriter.vb
@@ -207,8 +207,8 @@ Public Class JSONFileWriter
 				{"CurbWeight", vehicle.CurbMassChassis.Value()},
 				{"CurbWeightExtra", vehicle.CurbMassExtra.Value()},
 				{"Loading", vehicle.Loading.Value()},
-                		{"MassMax", vehicle.GrossVehicleMassRating.ConvertToTon()},
-		                {"rdyn", vehicle.DynamicTyreRadius.ConvertToMilliMeter()},
+           		{"MassMax", vehicle.GrossVehicleMassRating.ConvertToTon().Value},
+                {"rdyn", vehicle.DynamicTyreRadius.ConvertToMilliMeter().Value},
 				{"CdCorrMode", airdrag.CrossWindCorrectionMode.GetName()},
 				{"CdCorrFile",
 				If((airdrag.CrossWindCorrectionMode = CrossWindCorrectionMode.SpeedDependentCorrectionFactor OrElse
diff --git a/VectoCommon/VectoCommon/Utils/SIConvertExtensionMethods.cs b/VectoCommon/VectoCommon/Utils/SIConvertExtensionMethods.cs
index 545e08e7ea15f70a38e5d1113ff09e242e6b010a..b10c15f28ccd4323a7728b3362abc0ed04a717e9 100644
--- a/VectoCommon/VectoCommon/Utils/SIConvertExtensionMethods.cs
+++ b/VectoCommon/VectoCommon/Utils/SIConvertExtensionMethods.cs
@@ -45,6 +45,8 @@ namespace TUGraz.VectoCommon.Utils
             Units = units;
         }
 
+		public double Value { get { return _value; } }
+
 		protected bool Equals(ConvertedSI other)
 		{
 			return _value.Equals(other._value) && string.Equals(Units, other.Units);
diff --git a/VectoCore/VectoCoreTest/FileIO/JsonTest.cs b/VectoCore/VectoCoreTest/FileIO/JsonReadTest.cs
similarity index 97%
rename from VectoCore/VectoCoreTest/FileIO/JsonTest.cs
rename to VectoCore/VectoCoreTest/FileIO/JsonReadTest.cs
index 1d5cc14530be0a4ee2921ee26023d2c846bebc0c..91155c3cf240a23b5df8ca9c896f73128868bd88 100644
--- a/VectoCore/VectoCoreTest/FileIO/JsonTest.cs
+++ b/VectoCore/VectoCoreTest/FileIO/JsonReadTest.cs
@@ -1,512 +1,512 @@
-/*
-* This file is part of VECTO.
-*
-* Copyright © 2012-2017 European Union
-*
-* Developed by Graz University of Technology,
-*              Institute of Internal Combustion Engines and Thermodynamics,
-*              Institute of Technical Informatics
-*
-* VECTO is licensed under the EUPL, Version 1.1 or - as soon they will be approved
-* by the European Commission - subsequent versions of the EUPL (the "Licence");
-* You may not use VECTO except in compliance with the Licence.
-* You may obtain a copy of the Licence at:
-*
-* https://joinup.ec.europa.eu/community/eupl/og_page/eupl
-*
-* Unless required by applicable law or agreed to in writing, VECTO
-* distributed under the Licence is distributed on an "AS IS" basis,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the Licence for the specific language governing permissions and
-* limitations under the Licence.
-*
-* Authors:
-*   Stefan Hausberger, hausberger@ivt.tugraz.at, IVT, Graz University of Technology
-*   Christian Kreiner, christian.kreiner@tugraz.at, ITI, Graz University of Technology
-*   Michael Krisper, michael.krisper@tugraz.at, ITI, Graz University of Technology
-*   Raphael Luz, luz@ivt.tugraz.at, IVT, Graz University of Technology
-*   Markus Quaritsch, markus.quaritsch@tugraz.at, IVT, Graz University of Technology
-*   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
-*/
-
-using Newtonsoft.Json;
-using Newtonsoft.Json.Linq;
-using NUnit.Framework;
-using System.IO;
-using TUGraz.VectoCommon.Exceptions;
-using TUGraz.VectoCommon.InputData;
-using TUGraz.VectoCommon.Models;
-using TUGraz.VectoCommon.Utils;
-using TUGraz.VectoCore.InputData.FileIO.JSON;
-using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
-using TUGraz.VectoCore.Tests.Utils;
-
-namespace TUGraz.VectoCore.Tests.FileIO
-{
-	[TestFixture]
-	public class JsonTest
-	{
-		private const string TestJobFile = @"Testdata\Jobs\40t_Long_Haul_Truck.vecto";
-		private const string TestVehicleFile = @"Testdata\Components\24t Coach.vveh";
-
-		[OneTimeSetUp]
-		public void RunBeforeAnyTests()
-		{
-			Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory);
-		}
-
-		[TestCase]
-		public void ReadJobTest()
-		{
-			var job = JSONInputDataFactory.ReadJsonJob(TestJobFile);
-
-			Assert.IsNotNull(job);
-			//			AssertHelper.Exception<InvalidFileFormatException>(() => );
-		}
-
-		[TestCase]
-		public void NoEngineFileTest()
-		{
-			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
-			((JObject)json["Body"]).Property("EngineFile").Remove();
-
-			AssertHelper.Exception<VectoException>(() => new JSONInputDataV2(json, TestJobFile),
-				"JobFile: Failed to read Engine file '': Key EngineFile not found");
-		}
-
-		[TestCase]
-		public void NoGearboxFileTest()
-		{
-			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
-			((JObject)json["Body"]).Property("GearboxFile").Remove();
-
-			AssertHelper.Exception<VectoException>(() => new JSONInputDataV2(json, TestJobFile),
-				"JobFile: Failed to read Gearbox file '': Key GearboxFile not found");
-		}
-
-		[TestCase]
-		public void NoVehicleFileTest()
-		{
-			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
-			((JObject)json["Body"]).Property("VehicleFile").Remove();
-
-			AssertHelper.Exception<VectoException>(() => new JSONInputDataV2(json, TestJobFile),
-				"JobFile: Failed to read Vehicle file '': Key VehicleFile not found");
-		}
-
-		[TestCase]
-		public void NoCyclesTest()
-		{
-			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
-			((JObject)json["Body"]).Property("Cycles").Remove();
-
-			var tmp = new JSONInputDataV2(json, TestJobFile).Cycles;
-			Assert.AreEqual(0, tmp.Count);
-		}
-
-		[TestCase]
-		public void NoAuxTest()
-		{
-			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
-			((JObject)json["Body"]).Property("Aux").Remove();
-
-			// MK,2016-01-20: Changed for PWheel: aux entry may be missing, and that is ok.
-			var tmp = new JSONInputDataV2(json, TestJobFile).JobInputData.Vehicle.AuxiliaryInputData().Auxiliaries;
-			Assert.IsTrue(tmp.Count == 0);
-		}
-
-		[TestCase]
-		public void NoDriverAccCurveTest()
-		{
-			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
-			((JObject)json["Body"]).Property("VACC").Remove();
-
-			IEngineeringInputDataProvider input = new JSONInputDataV2(json, TestJobFile);
-			var tmp = input.DriverInputData.AccelerationCurve;
-			Assert.IsNull(tmp);
-		}
-
-		[TestCase]
-		public void UseDeclarationDriverAccCurveTest()
-		{
-			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
-			json["Body"]["VACC"] = "Truck";
-
-			IEngineeringInputDataProvider input = new JSONInputDataV2(json, TestJobFile);
-			var tmp = input.DriverInputData.AccelerationCurve;
-			Assert.IsNotNull(tmp);
-		}
-
-		[TestCase]
-		public void NoLookaheadCoastingTest()
-		{
-			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
-			((JObject)json["Body"]).Property("LAC").Remove();
-
-			IEngineeringInputDataProvider input = new JSONInputDataV2(json, TestJobFile);
-			var tmp = input.DriverInputData.Lookahead;
-			Assert.IsNull(tmp);
-		}
-
-		[TestCase]
-		public void NoOverspeedEcoRollTest()
-		{
-			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
-			((JObject)json["Body"]).Property("OverSpeedEcoRoll").Remove();
-
-			AssertHelper.Exception<VectoException>(
-				() => {
-					var tmp = ((IEngineeringInputDataProvider)new JSONInputDataV2(json, TestJobFile)).DriverInputData.OverSpeedEcoRoll;
-				},
-				"Key OverSpeedEcoRoll not found");
-		}
-
-		[TestCase]
-		public void ReadGearboxV5()
-		{
-			var inputProvider = JSONInputDataFactory.ReadGearbox(@"TestData\Components\AT_GBX\Gearbox_v5.vgbx");
-
-			var ratios = new[] { 3.0, 1.0, 0.8 };
-			Assert.AreEqual(ratios.Length, inputProvider.Gears.Count);
-			for (int i = 0; i < ratios.Length; i++) {
-				Assert.AreEqual(ratios[i], inputProvider.Gears[i].Ratio);
-			}
-			var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider,
-				MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), 2.1,
-				0.5.SI<Meter>(), VehicleCategory.RigidTruck,
-				true);
-			Assert.AreEqual(ratios.Length, gbxData.Gears.Count);
-
-			// interpreted as gearbox with first and second gear using TC (due to gear ratios)
-			Assert.IsFalse(gbxData.Gears[1].HasLockedGear);
-			Assert.IsTrue(gbxData.Gears[1].HasTorqueConverter);
-			Assert.IsTrue(gbxData.Gears[2].HasLockedGear);
-			Assert.IsTrue(gbxData.Gears[2].HasTorqueConverter);
-			Assert.IsTrue(gbxData.Gears[3].HasLockedGear);
-			Assert.IsFalse(gbxData.Gears[3].HasTorqueConverter);
-		}
-
-		[TestCase]
-		public void ReadGearboxSerialTC()
-		{
-			var inputProvider = JSONInputDataFactory.ReadGearbox(@"TestData\Components\AT_GBX\GearboxSerial.vgbx");
-
-			var ratios = new[] { 3.4, 1.9, 1.42, 1.0, 0.7, 0.62 };
-			Assert.AreEqual(ratios.Length, inputProvider.Gears.Count);
-			for (int i = 0; i < ratios.Length; i++) {
-				Assert.AreEqual(ratios[i], inputProvider.Gears[i].Ratio);
-			}
-			var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider,
-				MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), 2.1,
-				0.5.SI<Meter>(), VehicleCategory.RigidTruck,
-				true);
-			Assert.AreEqual(ratios.Length, gbxData.Gears.Count);
-
-			Assert.IsTrue(gbxData.Gears[1].HasLockedGear);
-			Assert.IsTrue(gbxData.Gears[1].HasTorqueConverter);
-			Assert.IsTrue(gbxData.Gears[2].HasLockedGear);
-			Assert.IsFalse(gbxData.Gears[2].HasTorqueConverter);
-			Assert.IsTrue(gbxData.Gears[3].HasLockedGear);
-			Assert.IsFalse(gbxData.Gears[3].HasTorqueConverter);
-
-			var gear = gbxData.Gears[1];
-			Assert.AreEqual(gear.Ratio, gear.TorqueConverterRatio);
-		}
-
-		[TestCase]
-		public void ReadGearboxPowersplitTC()
-		{
-			var inputProvider = JSONInputDataFactory.ReadGearbox(@"TestData\Components\AT_GBX\GearboxPowerSplit.vgbx");
-
-			var ratios = new[] { 1.35, 1.0, 0.73 };
-			Assert.AreEqual(ratios.Length, inputProvider.Gears.Count);
-			for (int i = 0; i < ratios.Length; i++) {
-				Assert.AreEqual(ratios[i], inputProvider.Gears[i].Ratio);
-			}
-			var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider,
-				MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), 2.1,
-				0.5.SI<Meter>(), VehicleCategory.RigidTruck,
-				true);
-			Assert.AreEqual(ratios.Length, gbxData.Gears.Count);
-
-			Assert.IsTrue(gbxData.Gears[1].HasLockedGear);
-			Assert.IsTrue(gbxData.Gears[1].HasTorqueConverter);
-			Assert.IsTrue(gbxData.Gears[2].HasLockedGear);
-			Assert.IsFalse(gbxData.Gears[2].HasTorqueConverter);
-			Assert.IsTrue(gbxData.Gears[3].HasLockedGear);
-			Assert.IsFalse(gbxData.Gears[3].HasTorqueConverter);
-
-			Assert.AreEqual(1, gbxData.Gears[1].TorqueConverterRatio);
-		}
-
-		[TestCase]
-		public void ReadGearboxDualTCTruck()
-		{
-			var inputProvider = JSONInputDataFactory.ReadGearbox(@"TestData\Components\AT_GBX\GearboxSerialDualTC.vgbx");
-
-			var ratios = new[] { 4.35, 2.4, 1.8, 1.3, 1.0 };
-			Assert.AreEqual(ratios.Length, inputProvider.Gears.Count);
-			for (int i = 0; i < ratios.Length; i++) {
-				Assert.AreEqual(ratios[i], inputProvider.Gears[i].Ratio);
-			}
-			var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider,
-				MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), 2.1,
-				0.5.SI<Meter>(), VehicleCategory.RigidTruck,
-				true);
-			Assert.AreEqual(ratios.Length, gbxData.Gears.Count);
-
-			Assert.IsFalse(gbxData.Gears[1].HasLockedGear);
-			Assert.IsTrue(gbxData.Gears[1].HasTorqueConverter);
-			Assert.IsTrue(gbxData.Gears[2].HasLockedGear);
-			Assert.IsTrue(gbxData.Gears[2].HasTorqueConverter);
-			Assert.IsTrue(gbxData.Gears[3].HasLockedGear);
-			Assert.IsFalse(gbxData.Gears[3].HasTorqueConverter);
-
-
-			var gear = gbxData.Gears[2];
-			Assert.AreEqual(gear.Ratio, gear.TorqueConverterRatio);
-		}
-
-		[TestCase]
-		public void ReadGearboxSingleTCBus()
-		{
-			var inputProvider = JSONInputDataFactory.ReadGearbox(@"TestData\Components\AT_GBX\GearboxSerialDualTC.vgbx");
-
-			var ratios = new[] { 4.35, 2.4, 1.8, 1.3, 1.0 };
-			Assert.AreEqual(ratios.Length, inputProvider.Gears.Count);
-			for (int i = 0; i < ratios.Length; i++) {
-				Assert.AreEqual(ratios[i], inputProvider.Gears[i].Ratio);
-			}
-			var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider,
-				MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), 2.1,
-				0.5.SI<Meter>(), VehicleCategory.InterurbanBus,
-				true);
-			Assert.AreEqual(ratios.Length, gbxData.Gears.Count);
-
-			Assert.IsTrue(gbxData.Gears[1].HasLockedGear);
-			Assert.IsTrue(gbxData.Gears[1].HasTorqueConverter);
-			Assert.IsTrue(gbxData.Gears[2].HasLockedGear);
-			Assert.IsFalse(gbxData.Gears[2].HasTorqueConverter);
-			Assert.IsTrue(gbxData.Gears[3].HasLockedGear);
-			Assert.IsFalse(gbxData.Gears[3].HasTorqueConverter);
-
-
-			var gear = gbxData.Gears[1];
-			Assert.AreEqual(gear.Ratio, gear.TorqueConverterRatio);
-		}
-
-		[TestCase]
-		public void ReadGearboxDualTCBus()
-		{
-			var inputProvider = JSONInputDataFactory.ReadGearbox(@"TestData\Components\AT_GBX\GearboxSerialDualTCBus.vgbx");
-
-			var ratios = new[] { 4.58, 2.4, 1.8, 1.3, 1.0 };
-			Assert.AreEqual(ratios.Length, inputProvider.Gears.Count);
-			for (int i = 0; i < ratios.Length; i++) {
-				Assert.AreEqual(ratios[i], inputProvider.Gears[i].Ratio);
-			}
-			var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider,
-				MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), 2.1,
-				0.5.SI<Meter>(), VehicleCategory.InterurbanBus,
-				true);
-			Assert.AreEqual(ratios.Length, gbxData.Gears.Count);
-
-			Assert.IsFalse(gbxData.Gears[1].HasLockedGear);
-			Assert.IsTrue(gbxData.Gears[1].HasTorqueConverter);
-			Assert.IsTrue(gbxData.Gears[2].HasLockedGear);
-			Assert.IsTrue(gbxData.Gears[2].HasTorqueConverter);
-			Assert.IsTrue(gbxData.Gears[3].HasLockedGear);
-			Assert.IsFalse(gbxData.Gears[3].HasTorqueConverter);
-
-
-			var gear = gbxData.Gears[2];
-			Assert.AreEqual(gear.Ratio, gear.TorqueConverterRatio);
-		}
-
-		//[TestCase]
-		//public void TestReadingElectricTechlist()
-		//{
-		//	var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
-		//	((JArray)json["Body"]["Aux"][3]["TechList"]).Add("LED lights");
-
-		//	var job = new JSONInputDataV2(json, TestJobFile);
-		//	foreach (var aux in job.Auxiliaries) {
-		//		if (aux.ID == "ES") {
-		//			Assert.AreEqual(1, aux.TechList.Count);
-		//			Assert.AreEqual("LED lights", aux.TechList.First());
-		//		}
-		//	}
-		//}
-
-		[TestCase]
-		public void JSON_Read_AngleGear()
-		{
-			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestVehicleFile)));
-			var angleGear = json["Body"]["Angledrive"];
-
-			Assert.AreEqual(AngledriveType.SeparateAngledrive,
-				angleGear["Type"].Value<string>().ParseEnum<AngledriveType>());
-			Assert.AreEqual(3.5, angleGear["Ratio"].Value<double>());
-			Assert.AreEqual("AngleGear.vtlm", angleGear["LossMap"].Value<string>());
-		}
-	}
-
-	//	[TestFixture]
-	//	public class JsonTest
-	//	{
-	//		private const string jsonExpected = @"{
-	//  ""CreatedBy"": ""Michael Krisper"",
-	//  ""Date"": ""2015-11-17T11:49:03Z"",
-	//  ""AppVersion"": ""3.0.1.320"",
-	//  ""FileVersion"": 7
-	//}";
-
-	//		private const string jsonExpected2 = @"{
-	//  ""CreatedBy"": ""Michael Krisper"",
-	//  ""Date"": ""2015-01-07T11:49:03Z"",
-	//  ""AppVersion"": ""3.0.1.320"",
-	//  ""FileVersion"": 7
-	//}";
-
-	//		[TestCase]
-	//		public void TestJsonHeaderEquality()
-	//		{
-	//			var h1 = new JsonDataHeader {
-	//				AppVersion = "MyVecto3",
-	//				CreatedBy = "UnitTest",
-	//				Date = new DateTime(1970, 1, 1),
-	//				FileVersion = 3
-	//			};
-	//			var h2 = new JsonDataHeader {
-	//				AppVersion = "MyVecto3",
-	//				CreatedBy = "UnitTest",
-	//				Date = new DateTime(1970, 1, 1),
-	//				FileVersion = 3
-	//			};
-	//			Assert.AreEqual(h1, h1);
-	//			Assert.AreEqual(h1, h2);
-	//			Assert.AreNotEqual(h1, null);
-	//			Assert.AreNotEqual(h1, "hello world");
-	//		}
-
-	//		[TestCase]
-	//		public void Test_Json_DateFormat_German()
-	//		{
-	//			var json = @"{
-	//  ""CreatedBy"": ""Michael Krisper"",
-	//  ""Date"": ""17.11.2015 11:49:03"",
-	//  ""AppVersion"": ""3.0.1.320"",
-	//  ""FileVersion"": 7
-	//}";
-	//			var header = JsonConvert.DeserializeObject<JsonDataHeader>(json);
-
-	//			Assert.AreEqual("3.0.1.320", header.AppVersion);
-	//			Assert.AreEqual(7u, header.FileVersion);
-	//			Assert.AreEqual("Michael Krisper", header.CreatedBy);
-	//			Assert.AreEqual(new DateTime(2015, 11, 17, 11, 49, 3, DateTimeKind.Utc), header.Date);
-
-	//			var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented);
-	//			Assert.AreEqual(jsonExpected, jsonCompare);
-	//		}
-
-	//		[TestCase]
-	//		public void Test_Json_DateFormat_German2()
-	//		{
-	//			var json = @"{
-	//  ""CreatedBy"": ""Michael Krisper"",
-	//  ""Date"": ""7.1.2015 11:49:03"",
-	//  ""AppVersion"": ""3.0.1.320"",
-	//  ""FileVersion"": 7
-	//}";
-	//			var header = JsonConvert.DeserializeObject<JsonDataHeader>(json);
-
-	//			Assert.AreEqual("3.0.1.320", header.AppVersion);
-	//			Assert.AreEqual(7u, header.FileVersion);
-	//			Assert.AreEqual("Michael Krisper", header.CreatedBy);
-	//			Assert.AreEqual(new DateTime(2015, 1, 7, 11, 49, 3, DateTimeKind.Utc), header.Date);
-
-	//			var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented);
-	//			Assert.AreEqual(jsonExpected2, jsonCompare);
-	//		}
-
-	//		[TestCase]
-	//		public void Test_Json_DateFormat_English()
-	//		{
-	//			var json = @"{
-	//  ""CreatedBy"": ""Michael Krisper"",
-	//  ""Date"": ""11/17/2015 11:49:03 AM"",
-	//  ""AppVersion"": ""3.0.1.320"",
-	//  ""FileVersion"": 7
-	//}";
-	//			var header = JsonConvert.DeserializeObject<JsonDataHeader>(json);
-
-	//			Assert.AreEqual("3.0.1.320", header.AppVersion);
-	//			Assert.AreEqual(7u, header.FileVersion);
-	//			Assert.AreEqual("Michael Krisper", header.CreatedBy);
-	//			Assert.AreEqual(new DateTime(2015, 11, 17, 11, 49, 3, DateTimeKind.Utc), header.Date);
-
-	//			var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented);
-	//			Assert.AreEqual(jsonExpected, jsonCompare);
-	//		}
-
-	//		[TestCase]
-	//		public void Test_Json_DateFormat_English2()
-	//		{
-	//			var json = @"{
-	//  ""CreatedBy"": ""Michael Krisper"",
-	//  ""Date"": ""1/7/2015 11:49:03 AM"",
-	//  ""AppVersion"": ""3.0.1.320"",
-	//  ""FileVersion"": 7
-	//}";
-	//			var header = JsonConvert.DeserializeObject<JsonDataHeader>(json);
-
-	//			Assert.AreEqual("3.0.1.320", header.AppVersion);
-	//			Assert.AreEqual(7u, header.FileVersion);
-	//			Assert.AreEqual("Michael Krisper", header.CreatedBy);
-	//			Assert.AreEqual(new DateTime(2015, 1, 7, 11, 49, 3, DateTimeKind.Utc), header.Date);
-
-	//			var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented);
-	//			Assert.AreEqual(jsonExpected2, jsonCompare);
-	//		}
-
-	//		[TestCase]
-	//		public void Test_Json_DateFormat_ISO8601()
-	//		{
-	//			var json = @"{
-	//  ""CreatedBy"": ""Michael Krisper"",
-	//  ""Date"": ""2015-11-17T11:49:03Z"",
-	//  ""AppVersion"": ""3.0.1.320"",
-	//  ""FileVersion"": 7
-	//}";
-	//			var header = JsonConvert.DeserializeObject<JsonDataHeader>(json);
-
-	//			Assert.AreEqual("3.0.1.320", header.AppVersion);
-	//			Assert.AreEqual(7u, header.FileVersion);
-	//			Assert.AreEqual("Michael Krisper", header.CreatedBy);
-	//			Assert.AreEqual(new DateTime(2015, 11, 17, 11, 49, 3, DateTimeKind.Utc), header.Date);
-
-	//			var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented);
-	//			Assert.AreEqual(json, jsonCompare);
-	//		}
-
-	//		[TestCase]
-	//		public void Test_Json_DateFormat_ISO8601_CET()
-	//		{
-	//			var json = @"{
-	//  ""CreatedBy"": ""Michael Krisper"",
-	//  ""Date"": ""2015-11-17T11:49:03+01:00"",
-	//  ""AppVersion"": ""3.0.1.320"",
-	//  ""FileVersion"": 7
-	//}";
-	//			var header = JsonConvert.DeserializeObject<JsonDataHeader>(json);
-
-	//			Assert.AreEqual("3.0.1.320", header.AppVersion);
-	//			Assert.AreEqual(7u, header.FileVersion);
-	//			Assert.AreEqual("Michael Krisper", header.CreatedBy);
-	//			Assert.AreEqual(new DateTime(2015, 11, 17, 11, 49, 3, DateTimeKind.Utc), header.Date);
-
-	//			var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented);
-	//			Assert.AreEqual(json, jsonCompare);
-	//		}
-	//	}
-}
+/*
+* This file is part of VECTO.
+*
+* Copyright © 2012-2017 European Union
+*
+* Developed by Graz University of Technology,
+*              Institute of Internal Combustion Engines and Thermodynamics,
+*              Institute of Technical Informatics
+*
+* VECTO is licensed under the EUPL, Version 1.1 or - as soon they will be approved
+* by the European Commission - subsequent versions of the EUPL (the "Licence");
+* You may not use VECTO except in compliance with the Licence.
+* You may obtain a copy of the Licence at:
+*
+* https://joinup.ec.europa.eu/community/eupl/og_page/eupl
+*
+* Unless required by applicable law or agreed to in writing, VECTO
+* distributed under the Licence is distributed on an "AS IS" basis,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the Licence for the specific language governing permissions and
+* limitations under the Licence.
+*
+* Authors:
+*   Stefan Hausberger, hausberger@ivt.tugraz.at, IVT, Graz University of Technology
+*   Christian Kreiner, christian.kreiner@tugraz.at, ITI, Graz University of Technology
+*   Michael Krisper, michael.krisper@tugraz.at, ITI, Graz University of Technology
+*   Raphael Luz, luz@ivt.tugraz.at, IVT, Graz University of Technology
+*   Markus Quaritsch, markus.quaritsch@tugraz.at, IVT, Graz University of Technology
+*   Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology
+*/
+
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using NUnit.Framework;
+using System.IO;
+using TUGraz.VectoCommon.Exceptions;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.InputData.FileIO.JSON;
+using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter;
+using TUGraz.VectoCore.Tests.Utils;
+
+namespace TUGraz.VectoCore.Tests.FileIO
+{
+	[TestFixture]
+	public class JsonReadTest
+	{
+		private const string TestJobFile = @"Testdata\Jobs\40t_Long_Haul_Truck.vecto";
+		private const string TestVehicleFile = @"Testdata\Components\24t Coach.vveh";
+
+		[OneTimeSetUp]
+		public void RunBeforeAnyTests()
+		{
+			Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory);
+		}
+
+		[TestCase]
+		public void ReadJobTest()
+		{
+			var job = JSONInputDataFactory.ReadJsonJob(TestJobFile);
+
+			Assert.IsNotNull(job);
+			//			AssertHelper.Exception<InvalidFileFormatException>(() => );
+		}
+
+		[TestCase]
+		public void NoEngineFileTest()
+		{
+			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
+			((JObject)json["Body"]).Property("EngineFile").Remove();
+
+			AssertHelper.Exception<VectoException>(() => new JSONInputDataV2(json, TestJobFile),
+				"JobFile: Failed to read Engine file '': Key EngineFile not found");
+		}
+
+		[TestCase]
+		public void NoGearboxFileTest()
+		{
+			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
+			((JObject)json["Body"]).Property("GearboxFile").Remove();
+
+			AssertHelper.Exception<VectoException>(() => new JSONInputDataV2(json, TestJobFile),
+				"JobFile: Failed to read Gearbox file '': Key GearboxFile not found");
+		}
+
+		[TestCase]
+		public void NoVehicleFileTest()
+		{
+			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
+			((JObject)json["Body"]).Property("VehicleFile").Remove();
+
+			AssertHelper.Exception<VectoException>(() => new JSONInputDataV2(json, TestJobFile),
+				"JobFile: Failed to read Vehicle file '': Key VehicleFile not found");
+		}
+
+		[TestCase]
+		public void NoCyclesTest()
+		{
+			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
+			((JObject)json["Body"]).Property("Cycles").Remove();
+
+			var tmp = new JSONInputDataV2(json, TestJobFile).Cycles;
+			Assert.AreEqual(0, tmp.Count);
+		}
+
+		[TestCase]
+		public void NoAuxTest()
+		{
+			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
+			((JObject)json["Body"]).Property("Aux").Remove();
+
+			// MK,2016-01-20: Changed for PWheel: aux entry may be missing, and that is ok.
+			var tmp = new JSONInputDataV2(json, TestJobFile).JobInputData.Vehicle.AuxiliaryInputData().Auxiliaries;
+			Assert.IsTrue(tmp.Count == 0);
+		}
+
+		[TestCase]
+		public void NoDriverAccCurveTest()
+		{
+			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
+			((JObject)json["Body"]).Property("VACC").Remove();
+
+			IEngineeringInputDataProvider input = new JSONInputDataV2(json, TestJobFile);
+			var tmp = input.DriverInputData.AccelerationCurve;
+			Assert.IsNull(tmp);
+		}
+
+		[TestCase]
+		public void UseDeclarationDriverAccCurveTest()
+		{
+			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
+			json["Body"]["VACC"] = "Truck";
+
+			IEngineeringInputDataProvider input = new JSONInputDataV2(json, TestJobFile);
+			var tmp = input.DriverInputData.AccelerationCurve;
+			Assert.IsNotNull(tmp);
+		}
+
+		[TestCase]
+		public void NoLookaheadCoastingTest()
+		{
+			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
+			((JObject)json["Body"]).Property("LAC").Remove();
+
+			IEngineeringInputDataProvider input = new JSONInputDataV2(json, TestJobFile);
+			var tmp = input.DriverInputData.Lookahead;
+			Assert.IsNull(tmp);
+		}
+
+		[TestCase]
+		public void NoOverspeedEcoRollTest()
+		{
+			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
+			((JObject)json["Body"]).Property("OverSpeedEcoRoll").Remove();
+
+			AssertHelper.Exception<VectoException>(
+				() => {
+					var tmp = ((IEngineeringInputDataProvider)new JSONInputDataV2(json, TestJobFile)).DriverInputData.OverSpeedEcoRoll;
+				},
+				"Key OverSpeedEcoRoll not found");
+		}
+
+		[TestCase]
+		public void ReadGearboxV5()
+		{
+			var inputProvider = JSONInputDataFactory.ReadGearbox(@"TestData\Components\AT_GBX\Gearbox_v5.vgbx");
+
+			var ratios = new[] { 3.0, 1.0, 0.8 };
+			Assert.AreEqual(ratios.Length, inputProvider.Gears.Count);
+			for (int i = 0; i < ratios.Length; i++) {
+				Assert.AreEqual(ratios[i], inputProvider.Gears[i].Ratio);
+			}
+			var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider,
+				MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), 2.1,
+				0.5.SI<Meter>(), VehicleCategory.RigidTruck,
+				true);
+			Assert.AreEqual(ratios.Length, gbxData.Gears.Count);
+
+			// interpreted as gearbox with first and second gear using TC (due to gear ratios)
+			Assert.IsFalse(gbxData.Gears[1].HasLockedGear);
+			Assert.IsTrue(gbxData.Gears[1].HasTorqueConverter);
+			Assert.IsTrue(gbxData.Gears[2].HasLockedGear);
+			Assert.IsTrue(gbxData.Gears[2].HasTorqueConverter);
+			Assert.IsTrue(gbxData.Gears[3].HasLockedGear);
+			Assert.IsFalse(gbxData.Gears[3].HasTorqueConverter);
+		}
+
+		[TestCase]
+		public void ReadGearboxSerialTC()
+		{
+			var inputProvider = JSONInputDataFactory.ReadGearbox(@"TestData\Components\AT_GBX\GearboxSerial.vgbx");
+
+			var ratios = new[] { 3.4, 1.9, 1.42, 1.0, 0.7, 0.62 };
+			Assert.AreEqual(ratios.Length, inputProvider.Gears.Count);
+			for (int i = 0; i < ratios.Length; i++) {
+				Assert.AreEqual(ratios[i], inputProvider.Gears[i].Ratio);
+			}
+			var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider,
+				MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), 2.1,
+				0.5.SI<Meter>(), VehicleCategory.RigidTruck,
+				true);
+			Assert.AreEqual(ratios.Length, gbxData.Gears.Count);
+
+			Assert.IsTrue(gbxData.Gears[1].HasLockedGear);
+			Assert.IsTrue(gbxData.Gears[1].HasTorqueConverter);
+			Assert.IsTrue(gbxData.Gears[2].HasLockedGear);
+			Assert.IsFalse(gbxData.Gears[2].HasTorqueConverter);
+			Assert.IsTrue(gbxData.Gears[3].HasLockedGear);
+			Assert.IsFalse(gbxData.Gears[3].HasTorqueConverter);
+
+			var gear = gbxData.Gears[1];
+			Assert.AreEqual(gear.Ratio, gear.TorqueConverterRatio);
+		}
+
+		[TestCase]
+		public void ReadGearboxPowersplitTC()
+		{
+			var inputProvider = JSONInputDataFactory.ReadGearbox(@"TestData\Components\AT_GBX\GearboxPowerSplit.vgbx");
+
+			var ratios = new[] { 1.35, 1.0, 0.73 };
+			Assert.AreEqual(ratios.Length, inputProvider.Gears.Count);
+			for (int i = 0; i < ratios.Length; i++) {
+				Assert.AreEqual(ratios[i], inputProvider.Gears[i].Ratio);
+			}
+			var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider,
+				MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), 2.1,
+				0.5.SI<Meter>(), VehicleCategory.RigidTruck,
+				true);
+			Assert.AreEqual(ratios.Length, gbxData.Gears.Count);
+
+			Assert.IsTrue(gbxData.Gears[1].HasLockedGear);
+			Assert.IsTrue(gbxData.Gears[1].HasTorqueConverter);
+			Assert.IsTrue(gbxData.Gears[2].HasLockedGear);
+			Assert.IsFalse(gbxData.Gears[2].HasTorqueConverter);
+			Assert.IsTrue(gbxData.Gears[3].HasLockedGear);
+			Assert.IsFalse(gbxData.Gears[3].HasTorqueConverter);
+
+			Assert.AreEqual(1, gbxData.Gears[1].TorqueConverterRatio);
+		}
+
+		[TestCase]
+		public void ReadGearboxDualTCTruck()
+		{
+			var inputProvider = JSONInputDataFactory.ReadGearbox(@"TestData\Components\AT_GBX\GearboxSerialDualTC.vgbx");
+
+			var ratios = new[] { 4.35, 2.4, 1.8, 1.3, 1.0 };
+			Assert.AreEqual(ratios.Length, inputProvider.Gears.Count);
+			for (int i = 0; i < ratios.Length; i++) {
+				Assert.AreEqual(ratios[i], inputProvider.Gears[i].Ratio);
+			}
+			var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider,
+				MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), 2.1,
+				0.5.SI<Meter>(), VehicleCategory.RigidTruck,
+				true);
+			Assert.AreEqual(ratios.Length, gbxData.Gears.Count);
+
+			Assert.IsFalse(gbxData.Gears[1].HasLockedGear);
+			Assert.IsTrue(gbxData.Gears[1].HasTorqueConverter);
+			Assert.IsTrue(gbxData.Gears[2].HasLockedGear);
+			Assert.IsTrue(gbxData.Gears[2].HasTorqueConverter);
+			Assert.IsTrue(gbxData.Gears[3].HasLockedGear);
+			Assert.IsFalse(gbxData.Gears[3].HasTorqueConverter);
+
+
+			var gear = gbxData.Gears[2];
+			Assert.AreEqual(gear.Ratio, gear.TorqueConverterRatio);
+		}
+
+		[TestCase]
+		public void ReadGearboxSingleTCBus()
+		{
+			var inputProvider = JSONInputDataFactory.ReadGearbox(@"TestData\Components\AT_GBX\GearboxSerialDualTC.vgbx");
+
+			var ratios = new[] { 4.35, 2.4, 1.8, 1.3, 1.0 };
+			Assert.AreEqual(ratios.Length, inputProvider.Gears.Count);
+			for (int i = 0; i < ratios.Length; i++) {
+				Assert.AreEqual(ratios[i], inputProvider.Gears[i].Ratio);
+			}
+			var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider,
+				MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), 2.1,
+				0.5.SI<Meter>(), VehicleCategory.InterurbanBus,
+				true);
+			Assert.AreEqual(ratios.Length, gbxData.Gears.Count);
+
+			Assert.IsTrue(gbxData.Gears[1].HasLockedGear);
+			Assert.IsTrue(gbxData.Gears[1].HasTorqueConverter);
+			Assert.IsTrue(gbxData.Gears[2].HasLockedGear);
+			Assert.IsFalse(gbxData.Gears[2].HasTorqueConverter);
+			Assert.IsTrue(gbxData.Gears[3].HasLockedGear);
+			Assert.IsFalse(gbxData.Gears[3].HasTorqueConverter);
+
+
+			var gear = gbxData.Gears[1];
+			Assert.AreEqual(gear.Ratio, gear.TorqueConverterRatio);
+		}
+
+		[TestCase]
+		public void ReadGearboxDualTCBus()
+		{
+			var inputProvider = JSONInputDataFactory.ReadGearbox(@"TestData\Components\AT_GBX\GearboxSerialDualTCBus.vgbx");
+
+			var ratios = new[] { 4.58, 2.4, 1.8, 1.3, 1.0 };
+			Assert.AreEqual(ratios.Length, inputProvider.Gears.Count);
+			for (int i = 0; i < ratios.Length; i++) {
+				Assert.AreEqual(ratios[i], inputProvider.Gears[i].Ratio);
+			}
+			var gbxData = new EngineeringDataAdapter().CreateGearboxData(inputProvider,
+				MockSimulationDataFactory.CreateEngineDataFromFile(@"TestData\Components\AT_GBX\Engine.veng", 0), 2.1,
+				0.5.SI<Meter>(), VehicleCategory.InterurbanBus,
+				true);
+			Assert.AreEqual(ratios.Length, gbxData.Gears.Count);
+
+			Assert.IsFalse(gbxData.Gears[1].HasLockedGear);
+			Assert.IsTrue(gbxData.Gears[1].HasTorqueConverter);
+			Assert.IsTrue(gbxData.Gears[2].HasLockedGear);
+			Assert.IsTrue(gbxData.Gears[2].HasTorqueConverter);
+			Assert.IsTrue(gbxData.Gears[3].HasLockedGear);
+			Assert.IsFalse(gbxData.Gears[3].HasTorqueConverter);
+
+
+			var gear = gbxData.Gears[2];
+			Assert.AreEqual(gear.Ratio, gear.TorqueConverterRatio);
+		}
+
+		//[TestCase]
+		//public void TestReadingElectricTechlist()
+		//{
+		//	var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestJobFile)));
+		//	((JArray)json["Body"]["Aux"][3]["TechList"]).Add("LED lights");
+
+		//	var job = new JSONInputDataV2(json, TestJobFile);
+		//	foreach (var aux in job.Auxiliaries) {
+		//		if (aux.ID == "ES") {
+		//			Assert.AreEqual(1, aux.TechList.Count);
+		//			Assert.AreEqual("LED lights", aux.TechList.First());
+		//		}
+		//	}
+		//}
+
+		[TestCase]
+		public void JSON_Read_AngleGear()
+		{
+			var json = (JObject)JToken.ReadFrom(new JsonTextReader(File.OpenText(TestVehicleFile)));
+			var angleGear = json["Body"]["Angledrive"];
+
+			Assert.AreEqual(AngledriveType.SeparateAngledrive,
+				angleGear["Type"].Value<string>().ParseEnum<AngledriveType>());
+			Assert.AreEqual(3.5, angleGear["Ratio"].Value<double>());
+			Assert.AreEqual("AngleGear.vtlm", angleGear["LossMap"].Value<string>());
+		}
+	}
+
+	//	[TestFixture]
+	//	public class JsonTest
+	//	{
+	//		private const string jsonExpected = @"{
+	//  ""CreatedBy"": ""Michael Krisper"",
+	//  ""Date"": ""2015-11-17T11:49:03Z"",
+	//  ""AppVersion"": ""3.0.1.320"",
+	//  ""FileVersion"": 7
+	//}";
+
+	//		private const string jsonExpected2 = @"{
+	//  ""CreatedBy"": ""Michael Krisper"",
+	//  ""Date"": ""2015-01-07T11:49:03Z"",
+	//  ""AppVersion"": ""3.0.1.320"",
+	//  ""FileVersion"": 7
+	//}";
+
+	//		[TestCase]
+	//		public void TestJsonHeaderEquality()
+	//		{
+	//			var h1 = new JsonDataHeader {
+	//				AppVersion = "MyVecto3",
+	//				CreatedBy = "UnitTest",
+	//				Date = new DateTime(1970, 1, 1),
+	//				FileVersion = 3
+	//			};
+	//			var h2 = new JsonDataHeader {
+	//				AppVersion = "MyVecto3",
+	//				CreatedBy = "UnitTest",
+	//				Date = new DateTime(1970, 1, 1),
+	//				FileVersion = 3
+	//			};
+	//			Assert.AreEqual(h1, h1);
+	//			Assert.AreEqual(h1, h2);
+	//			Assert.AreNotEqual(h1, null);
+	//			Assert.AreNotEqual(h1, "hello world");
+	//		}
+
+	//		[TestCase]
+	//		public void Test_Json_DateFormat_German()
+	//		{
+	//			var json = @"{
+	//  ""CreatedBy"": ""Michael Krisper"",
+	//  ""Date"": ""17.11.2015 11:49:03"",
+	//  ""AppVersion"": ""3.0.1.320"",
+	//  ""FileVersion"": 7
+	//}";
+	//			var header = JsonConvert.DeserializeObject<JsonDataHeader>(json);
+
+	//			Assert.AreEqual("3.0.1.320", header.AppVersion);
+	//			Assert.AreEqual(7u, header.FileVersion);
+	//			Assert.AreEqual("Michael Krisper", header.CreatedBy);
+	//			Assert.AreEqual(new DateTime(2015, 11, 17, 11, 49, 3, DateTimeKind.Utc), header.Date);
+
+	//			var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented);
+	//			Assert.AreEqual(jsonExpected, jsonCompare);
+	//		}
+
+	//		[TestCase]
+	//		public void Test_Json_DateFormat_German2()
+	//		{
+	//			var json = @"{
+	//  ""CreatedBy"": ""Michael Krisper"",
+	//  ""Date"": ""7.1.2015 11:49:03"",
+	//  ""AppVersion"": ""3.0.1.320"",
+	//  ""FileVersion"": 7
+	//}";
+	//			var header = JsonConvert.DeserializeObject<JsonDataHeader>(json);
+
+	//			Assert.AreEqual("3.0.1.320", header.AppVersion);
+	//			Assert.AreEqual(7u, header.FileVersion);
+	//			Assert.AreEqual("Michael Krisper", header.CreatedBy);
+	//			Assert.AreEqual(new DateTime(2015, 1, 7, 11, 49, 3, DateTimeKind.Utc), header.Date);
+
+	//			var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented);
+	//			Assert.AreEqual(jsonExpected2, jsonCompare);
+	//		}
+
+	//		[TestCase]
+	//		public void Test_Json_DateFormat_English()
+	//		{
+	//			var json = @"{
+	//  ""CreatedBy"": ""Michael Krisper"",
+	//  ""Date"": ""11/17/2015 11:49:03 AM"",
+	//  ""AppVersion"": ""3.0.1.320"",
+	//  ""FileVersion"": 7
+	//}";
+	//			var header = JsonConvert.DeserializeObject<JsonDataHeader>(json);
+
+	//			Assert.AreEqual("3.0.1.320", header.AppVersion);
+	//			Assert.AreEqual(7u, header.FileVersion);
+	//			Assert.AreEqual("Michael Krisper", header.CreatedBy);
+	//			Assert.AreEqual(new DateTime(2015, 11, 17, 11, 49, 3, DateTimeKind.Utc), header.Date);
+
+	//			var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented);
+	//			Assert.AreEqual(jsonExpected, jsonCompare);
+	//		}
+
+	//		[TestCase]
+	//		public void Test_Json_DateFormat_English2()
+	//		{
+	//			var json = @"{
+	//  ""CreatedBy"": ""Michael Krisper"",
+	//  ""Date"": ""1/7/2015 11:49:03 AM"",
+	//  ""AppVersion"": ""3.0.1.320"",
+	//  ""FileVersion"": 7
+	//}";
+	//			var header = JsonConvert.DeserializeObject<JsonDataHeader>(json);
+
+	//			Assert.AreEqual("3.0.1.320", header.AppVersion);
+	//			Assert.AreEqual(7u, header.FileVersion);
+	//			Assert.AreEqual("Michael Krisper", header.CreatedBy);
+	//			Assert.AreEqual(new DateTime(2015, 1, 7, 11, 49, 3, DateTimeKind.Utc), header.Date);
+
+	//			var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented);
+	//			Assert.AreEqual(jsonExpected2, jsonCompare);
+	//		}
+
+	//		[TestCase]
+	//		public void Test_Json_DateFormat_ISO8601()
+	//		{
+	//			var json = @"{
+	//  ""CreatedBy"": ""Michael Krisper"",
+	//  ""Date"": ""2015-11-17T11:49:03Z"",
+	//  ""AppVersion"": ""3.0.1.320"",
+	//  ""FileVersion"": 7
+	//}";
+	//			var header = JsonConvert.DeserializeObject<JsonDataHeader>(json);
+
+	//			Assert.AreEqual("3.0.1.320", header.AppVersion);
+	//			Assert.AreEqual(7u, header.FileVersion);
+	//			Assert.AreEqual("Michael Krisper", header.CreatedBy);
+	//			Assert.AreEqual(new DateTime(2015, 11, 17, 11, 49, 3, DateTimeKind.Utc), header.Date);
+
+	//			var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented);
+	//			Assert.AreEqual(json, jsonCompare);
+	//		}
+
+	//		[TestCase]
+	//		public void Test_Json_DateFormat_ISO8601_CET()
+	//		{
+	//			var json = @"{
+	//  ""CreatedBy"": ""Michael Krisper"",
+	//  ""Date"": ""2015-11-17T11:49:03+01:00"",
+	//  ""AppVersion"": ""3.0.1.320"",
+	//  ""FileVersion"": 7
+	//}";
+	//			var header = JsonConvert.DeserializeObject<JsonDataHeader>(json);
+
+	//			Assert.AreEqual("3.0.1.320", header.AppVersion);
+	//			Assert.AreEqual(7u, header.FileVersion);
+	//			Assert.AreEqual("Michael Krisper", header.CreatedBy);
+	//			Assert.AreEqual(new DateTime(2015, 11, 17, 11, 49, 3, DateTimeKind.Utc), header.Date);
+
+	//			var jsonCompare = JsonConvert.SerializeObject(header, Formatting.Indented);
+	//			Assert.AreEqual(json, jsonCompare);
+	//		}
+	//	}
+}
diff --git a/VectoCore/VectoCoreTest/FileIO/JsonWriteTest.cs b/VectoCore/VectoCoreTest/FileIO/JsonWriteTest.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f64d4fbeca301a944a0d34a316fb0c00826617bd
--- /dev/null
+++ b/VectoCore/VectoCoreTest/FileIO/JsonWriteTest.cs
@@ -0,0 +1,98 @@
+using System.IO;
+using NUnit.Framework;
+using NUnit.Framework.Internal;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCore.InputData.FileIO.JSON;
+using TUGraz.VectoCore.Tests.Utils;
+using TUGraz.VECTO;
+
+namespace TUGraz.VectoCore.Tests.FileIO
+{
+	[TestFixture]
+	public class JsonWriteTest
+	{
+		[OneTimeSetUp]
+		public void RunBeforeAnyTests()
+		{
+			Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory);
+		}
+
+		[TestCase(@"TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Class9_RigidTruck.vveh")]
+		public void SaveVehicleFileDecl(string vehicleFile)
+		{
+			var outFile = "json_vehicle_write_test.vveh";
+
+			var input = JSONInputDataFactory.ReadComponentData(vehicleFile);
+			var inputProvider = input as IEngineeringInputDataProvider;
+			Assert.NotNull(inputProvider);
+
+			var vehicleInput = inputProvider.JobInputData.Vehicle;
+
+			var writer = JSONFileWriter.Instance;
+
+			VECTO_Global.Cfg = new VECTO.Configuration() {DeclMode = true};
+			writer.SaveVehicle(vehicleInput, vehicleInput.AirdragInputData, vehicleInput.RetarderInputData, vehicleInput.PTOTransmissionInputData, vehicleInput.AngledriveInputData, outFile);
+
+			var savedData = JSONInputDataFactory.ReadComponentData(outFile);
+			var savedInprovider = savedData as IEngineeringInputDataProvider;
+			Assert.NotNull(savedInprovider);
+			//Assert.AreEqual(vehicleInput, savedInprovider.JobInputData.Vehicle);
+
+			AssertHelper.PublicPropertiesEqual(typeof(IVehicleDeclarationInputData),vehicleInput, savedInprovider.JobInputData.Vehicle, 
+				new [] {"Source", "GearboxInputData", "EngineInputData", "TorqueConverterInputData", "AxleGearInputData"});
+		}
+		
+
+		[TestCase(@"TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Engine_324kW_12.7l.veng")]
+		public void SaveEngineFileDecl(string engineFile)
+		{
+			var outFile = "json_engine_write_test.veng";
+
+			var input = JSONInputDataFactory.ReadComponentData(engineFile);
+			var inputProvider = input as IEngineeringInputDataProvider;
+			Assert.NotNull(inputProvider);
+
+			var engineInputData = inputProvider.JobInputData.Vehicle.EngineInputData;
+
+			var writer = JSONFileWriter.Instance;
+
+			VECTO_Global.Cfg = new VECTO.Configuration() { DeclMode = true };
+			writer.SaveEngine(engineInputData,outFile);
+
+			var savedData = JSONInputDataFactory.ReadComponentData(outFile);
+			var savedInprovider = savedData as IEngineeringInputDataProvider;
+			Assert.NotNull(savedInprovider);
+
+			AssertHelper.PublicPropertiesEqual(typeof(IEngineDeclarationInputData),engineInputData, savedInprovider.JobInputData.Vehicle.EngineInputData,
+				new[] { "Source" });
+		}
+
+		[TestCase(@"TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\AMT_12.vgbx")]
+		public void SaveGearboxAxlegearFileDecl(string engineFile)
+		{
+			var outFile = "json_gearbox_write_test.vgbx";
+
+			var input = JSONInputDataFactory.ReadComponentData(engineFile);
+			var inputProvider = input as IEngineeringInputDataProvider;
+			Assert.NotNull(inputProvider);
+
+			var vehicleInputData = inputProvider.JobInputData.Vehicle;
+
+			var writer = JSONFileWriter.Instance;
+
+			VECTO_Global.Cfg = new VECTO.Configuration() { DeclMode = true };
+			writer.SaveGearbox(vehicleInputData.GearboxInputData, vehicleInputData.AxleGearInputData, outFile);
+
+			var savedData = JSONInputDataFactory.ReadComponentData(outFile);
+			var savedInprovider = savedData as IEngineeringInputDataProvider;
+			Assert.NotNull(savedInprovider);
+
+			AssertHelper.PublicPropertiesEqual(typeof(IGearboxDeclarationInputData), vehicleInputData.GearboxInputData, savedInprovider.JobInputData.Vehicle.GearboxInputData,
+				new[] { "Source" });
+			AssertHelper.PublicPropertiesEqual(typeof(IAxleDeclarationInputData), vehicleInputData.AxleGearInputData, savedInprovider.JobInputData.Vehicle.AxleGearInputData,
+				new[] { "Source" });
+		}
+
+
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/324kW.vfld b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/324kW.vfld
new file mode 100644
index 0000000000000000000000000000000000000000..d305e26d47414e8d519363447a258f5106b038c6
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/324kW.vfld	
@@ -0,0 +1,11 @@
+engine speed [1/min],full load torque [Nm],motoring torque [Nm],PT1 [s]
+600,1258,-150,0.24
+800,1758,-155,0.47
+1000,2140,-165,0.58
+1200,2146,-179,0.53
+1400,2109,-203,0.46
+1600,1903,-235,0.349999999
+1800,1719,-264,0.2
+2000,1259,-301,0.11
+2100,1079,-320,0.11
+2200,0,-339,0.11
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/350kW.vmap b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/350kW.vmap
new file mode 100644
index 0000000000000000000000000000000000000000..4ae21e4b8e35fadfbc04b5a17e06365cb6128c4f
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/350kW.vmap	
@@ -0,0 +1,107 @@
+engine speed [rpm],torque [Nm],fuel consumption [g/h]
+600,-150,0
+600,0,1459
+600,200,3358
+600,400,5498
+600,600,8101
+600,800,10014
+600,1000,12071
+600,1200,14400
+600,1282,15350
+800,-155,0
+800,0,1879
+800,200,4286
+800,400,7350
+800,600,10059
+800,800,13086
+800,1000,16015
+800,1200,19239
+800,1400,22426
+800,1600,25600
+800,1791,28905
+1000,-165,0
+1000,0,2865
+1000,200,5963
+1000,400,9198
+1000,600,12354
+1000,800,15965
+1000,1000,19864
+1000,1200,23530
+1000,1400,27202
+1000,1600,31165
+1000,1800,35103
+1000,2000,39360
+1000,2200,44120
+1000,2300,46836
+1200,-179,0
+1200,0,3307
+1200,200,6897
+1200,400,10651
+1200,600,14645
+1200,800,19115
+1200,1000,23677
+1200,1200,28180
+1200,1400,32431
+1200,1600,37000
+1200,1800,41691
+1200,2000,46915
+1200,2200,51783
+1200,2300,54932
+1400,-203,0
+1400,0,4306
+1400,200,8143
+1400,400,12723
+1400,600,17523
+1400,800,22288
+1400,1000,27093
+1400,1200,32536
+1400,1400,37746
+1400,1600,43194
+1400,1800,49453
+1400,2000,55750
+1400,2200,61072
+1400,2300,64377
+1600,-235,0
+1600,0,5209
+1600,200,9669
+1600,400,14838
+1600,600,20127
+1600,800,25894
+1600,1000,31631
+1600,1200,37248
+1600,1400,43450
+1600,1600,49752
+1600,1800,57020
+1600,2000,63914
+1600,2079,66520
+1800,-264,0
+1800,0,6409
+1800,200,11777
+1800,400,17320
+1800,600,23394
+1800,800,30501
+1800,1000,36378
+1800,1200,43079
+1800,1400,50250
+1800,1600,57436
+1800,1800,65157
+1800,1857,67574
+2000,-301,0
+2000,0,9127
+2000,200,14822
+2000,400,20655
+2000,600,27076
+2000,800,34188
+2000,1000,42837
+2000,1200,51018
+2000,1352,56618
+2100,-320,0
+2100,0,10470
+2100,200,16332
+2100,400,22396
+2100,600,28914
+2100,800,35717
+2100,1000,45643
+2100,1100,50653
+2200,-339,0
+2200,0,13444.59908
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/AMT_12.vgbx b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/AMT_12.vgbx
new file mode 100644
index 0000000000000000000000000000000000000000..9b717385f7785d878458cf77a0a1ca325643402c
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/AMT_12.vgbx	
@@ -0,0 +1,117 @@
+{
+  "Header": {
+    "CreatedBy": " ()",
+    "Date": "2017-05-19T08:19:13.4575457Z",
+    "AppVersion": "3",
+    "FileVersion": 6
+  },
+  "Body": {
+    "SavedInDeclMode": true,
+    "ModelName": "tractor_12gear_example",
+    "Inertia": 0.0,
+    "TracInt": 1.0,
+    "Gears": [
+      {
+        "Ratio": 2.64,
+        "LossMap": "Axle_4x2.vtlm"
+      },
+      {
+        "Ratio": 14.93,
+        "LossMap": "Gear_1.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 11.64,
+        "LossMap": "Gear_2.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 9.02,
+        "LossMap": "Gear_3.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 7.04,
+        "LossMap": "Gear_4.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 5.64,
+        "LossMap": "Gear_5.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 4.4,
+        "LossMap": "Gear_6.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 3.39,
+        "LossMap": "Gear_7.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 2.65,
+        "LossMap": "Gear_8.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 2.05,
+        "LossMap": "Gear_9.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 1.6,
+        "LossMap": "Gear_10.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 1.28,
+        "LossMap": "Gear_11.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "",
+        "MaxSpeed": ""
+      },
+      {
+        "Ratio": 1.0,
+        "LossMap": "Gear_12.vtlm",
+        "ShiftPolygon": "",
+        "MaxTorque": "",
+        "MaxSpeed": ""
+      }
+    ],
+    "TqReserve": 20.0,
+    "ShiftTime": 1.5,
+    "StartTqReserve": 20.0,
+    "StartSpeed": 1.3,
+    "StartAcc": 0.6,
+    "GearboxType": "AMT",
+    "TorqueConverter": {
+      "Enabled": false
+    },
+    "DownshiftAfterUpshiftDelay": 10.0,
+    "UpshiftAfterDownshiftDelay": 10.0,
+    "UpshiftMinAcceleration": 0.1,
+    "PowershiftShiftTime": 0.8
+  }
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Axle_4x2.vtlm b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Axle_4x2.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..e11cbf7cdde175e06ab8f6a0b79d46b84b3e0c1a
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Axle_4x2.vtlm	
@@ -0,0 +1,317 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-5478,220
+0,-176,28
+0,0,8
+0,116,14
+0,220,17
+0,326,21
+0,432,24
+0,641,31
+0,853,38
+0,1274,53
+0,1696,67
+0,2117,82
+0,2538,96
+0,2959,110
+0,3376,119
+0,3785,123
+0,4200,130
+0,6309,204
+0,8409,268
+0,10507,332
+0,12606,396
+0,16804,523
+0,21002,651
+0,25199,778
+0,29397,905
+0,33594,1032
+0,37792,1160
+0,41990,1288
+0,46187,1415
+0,50385,1542
+143,-5482,216
+143,-174,28
+143,0,9
+143,116,14
+143,222,17
+143,326,21
+143,432,24
+143,641,31
+143,853,38
+143,1273,52
+143,1694,66
+143,2115,80
+143,2536,94
+143,2957,108
+143,3372,116
+143,3786,123
+143,4200,130
+143,6323,218
+143,8427,287
+143,10532,356
+143,12635,425
+143,16843,563
+143,21052,701
+143,25260,839
+143,29467,977
+143,33676,1115
+143,37884,1253
+143,42092,1391
+143,46300,1529
+143,50509,1667
+285,-5496,202
+285,-172,32
+285,0,10
+285,118,16
+285,223,19
+285,327,22
+285,432,24
+285,641,31
+285,851,37
+285,1271,50
+285,1690,63
+285,2110,75
+285,2530,88
+285,2950,101
+285,3369,113
+285,3780,117
+285,4195,124
+285,6305,200
+285,8402,262
+285,10499,324
+285,12596,386
+285,16791,510
+285,20987,636
+285,25181,760
+285,29376,884
+285,33570,1009
+285,37765,1133
+285,41960,1259
+285,46154,1383
+285,50350,1507
+428,-5501,200
+428,-167,35
+428,0,12
+428,119,17
+428,224,21
+428,328,23
+428,433,26
+428,643,31
+428,851,37
+428,1270,49
+428,1689,61
+428,2109,74
+428,2529,87
+428,2949,100
+428,3365,109
+428,3778,115
+428,4191,121
+428,6296,191
+428,8390,251
+428,10485,310
+428,12579,369
+428,16767,486
+428,20955,604
+428,25143,723
+428,29332,841
+428,33521,958
+428,37708,1076
+428,41897,1195
+428,46084,1313
+428,50273,1430
+570,-5512,188
+570,-167,37
+570,0,13
+570,121,19
+570,224,21
+570,328,23
+570,433,26
+570,641,31
+570,850,36
+570,1268,46
+570,1685,58
+570,2104,70
+570,2523,81
+570,2943,94
+570,3363,107
+570,3776,113
+570,4189,118
+570,6281,175
+570,8369,230
+570,10459,283
+570,12547,336
+570,16724,443
+570,20901,550
+570,25078,658
+570,29255,764
+570,33432,871
+570,37611,979
+570,41788,1086
+570,45965,1192
+570,50142,1299
+713,-5517,181
+713,-165,39
+713,0,14
+713,122,20
+713,225,22
+713,329,24
+713,433,27
+713,641,30
+713,850,36
+713,1267,45
+713,1684,56
+713,2102,67
+713,2521,79
+713,2939,90
+713,3358,102
+713,3775,111
+713,4188,118
+713,6272,166
+713,8357,217
+713,10442,267
+713,12527,317
+713,16697,416
+713,20867,517
+713,25039,617
+713,29209,717
+713,33379,818
+713,37549,918
+713,41719,1017
+713,45890,1117
+713,50060,1218
+855,-5524,174
+855,-162,42
+855,0,15
+855,122,21
+855,226,22
+855,329,24
+855,434,27
+855,641,31
+855,849,35
+855,1266,45
+855,1683,55
+855,2100,65
+855,2518,77
+855,2937,87
+855,3355,99
+855,3775,111
+855,4188,117
+855,6264,158
+855,8346,205
+855,10427,252
+855,12509,299
+855,16674,393
+855,20838,487
+855,25003,581
+855,29167,675
+855,33330,769
+855,37495,863
+855,41659,957
+855,45823,1051
+855,49988,1145
+998,-5526,172
+998,-160,44
+998,0,16
+998,123,22
+998,227,23
+998,331,26
+998,435,28
+998,641,31
+998,850,36
+998,1266,45
+998,1682,55
+998,2100,64
+998,2517,74
+998,2935,86
+998,3354,97
+998,3772,109
+998,4185,115
+998,6258,153
+998,8338,197
+998,10418,242
+998,12498,288
+998,16658,377
+998,20817,466
+998,24977,556
+998,29137,645
+998,33297,735
+998,37456,825
+998,41616,914
+998,45776,1003
+998,49936,1093
+1140,-5529,169
+1140,-158,46
+1140,0,18
+1140,125,23
+1140,229,24
+1140,332,27
+1140,436,29
+1140,643,32
+1140,851,37
+1140,1267,45
+1140,1683,55
+1140,2100,64
+1140,2516,74
+1140,2934,85
+1140,3352,96
+1140,3771,108
+1140,4183,114
+1283,-5529,169
+1283,-155,49
+1283,0,19
+1283,126,24
+1283,230,26
+1283,333,28
+1283,437,30
+1283,644,34
+1283,853,38
+1283,1267,46
+1283,1683,55
+1283,2098,64
+1283,2516,74
+1283,2934,85
+1283,3351,95
+1283,3764,101
+1425,-5531,167
+1425,-153,51
+1425,0,20
+1425,128,26
+1425,231,27
+1425,336,30
+1425,436,29
+1425,646,36
+1425,853,38
+1425,1268,46
+1425,1683,55
+1425,2098,63
+1425,2516,73
+1425,2932,84
+1425,3345,89
+1568,-5538,160
+1568,-148,56
+1568,0,21
+1568,129,28
+1568,232,29
+1568,336,31
+1568,440,32
+1568,647,37
+1568,854,41
+1568,1269,48
+1568,1684,57
+1568,2101,65
+1568,2517,74
+1568,2929,80
+1853,-5540,158
+1853,-144,60
+1853,0,24
+1853,132,30
+1853,234,31
+1853,340,34
+1853,442,35
+1853,650,38
+1853,856,42
+1853,1269,49
+1853,1684,57
+1853,2098,64
+1853,2515,73
+1853,2928,79
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Class9_RigidTruck.vveh b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Class9_RigidTruck.vveh
new file mode 100644
index 0000000000000000000000000000000000000000..3bd49af68ee95788da316d6944aaf949686f4910
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Class9_RigidTruck.vveh	
@@ -0,0 +1,70 @@
+{
+  "Header": {
+    "CreatedBy": "",
+    "Date": "2017-07-03T14:48:16.7076880Z",
+    "AppVersion": "3",
+    "FileVersion": 7
+  },
+  "Body": {
+    "SavedInDeclMode": true,
+    "VehCat": "RigidTruck",
+    "LegislativeClass": "N3",
+    "CurbWeight": 9300.0,
+    "CurbWeightExtra": 0.0,
+    "Loading": 0.0,
+    "MassMax": 26.0,
+    "rdyn": 0.0,
+    "CdCorrMode": "CdofVdecl",
+    "CdCorrFile": "",
+    "Retarder": {
+      "Type": "secondary",
+      "Ratio": 1.0,
+      "File": "Retarder.vrlm"
+    },
+    "Angledrive": {
+      "Type": "None",
+      "Ratio": "NaN",
+      "LossMap": ""
+    },
+    "PTO": {
+      "Type": "drive shaft and/or more than 2 gear wheels - multi-disc clutch, oil pump",
+      "LossMap": "",
+      "Cycle": ""
+    },
+    "TorqueLimits": {},
+    "IdlingSpeed": 600.0,
+    "AxleConfig": {
+      "Type": "6x2",
+      "Axles": [
+        {
+          "Inertia": 14.9,
+          "Wheels": "315/70 R22.5",
+          "AxleWeightShare": 0.0,
+          "TwinTyres": false,
+          "RRCISO": 0.0055,
+          "FzISO": 33350.0,
+          "Type": "VehicleNonDriven"
+        },
+        {
+          "Inertia": 14.9,
+          "Wheels": "315/70 R22.5",
+          "AxleWeightShare": 0.0,
+          "TwinTyres": true,
+          "RRCISO": 0.0055,
+          "FzISO": 33350.0,
+          "Type": "VehicleDriven"
+        },
+        {
+          "Inertia": 14.9,
+          "Wheels": "315/70 R22.5",
+          "AxleWeightShare": 0.0,
+          "TwinTyres": false,
+          "RRCISO": 0.0055,
+          "FzISO": 33350.0,
+          "Type": "VehicleNonDriven"
+        }
+      ]
+    },
+    "CdA": 5.2
+  }
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Class9_RigidTruck_DECL.vecto b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Class9_RigidTruck_DECL.vecto
new file mode 100644
index 0000000000000000000000000000000000000000..ef46306882fd865abf8d0c8fbc6723b65969c582
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Class9_RigidTruck_DECL.vecto	
@@ -0,0 +1,61 @@
+{
+  "Header": {
+    "CreatedBy": " ()",
+    "Date": "2017-05-19T08:36:57.2458195Z",
+    "AppVersion": "3",
+    "FileVersion": 3
+  },
+  "Body": {
+    "SavedInDeclMode": true,
+    "EngineOnlyMode": false,
+    "VehicleFile": "Class9_RigidTruck.vveh",
+    "EngineFile": "Engine_324kW_12.7l.veng",
+    "GearboxFile": "AMT_12.vgbx",
+    "AuxiliaryAssembly": "Classic",
+    "AuxiliaryVersion": "CLASSIC",
+    "AdvancedAuxiliaryFilePath": "",
+    "Aux": [
+      {
+        "ID": "FAN",
+        "Type": "Fan",
+        "Technology": [
+          "Crankshaft mounted - On/off clutch"
+        ]
+      },
+      {
+        "ID": "STP",
+        "Type": "Steering pump",
+        "Technology": [
+          "Fixed displacement with elec. control"
+        ]
+      },
+      {
+        "ID": "AC",
+        "Type": "HVAC",
+        "Technology": [
+          "Default"
+        ]
+      },
+      {
+        "ID": "ES",
+        "Type": "Electric System",
+        "Technology": [
+          "Standard technology"
+        ]
+      },
+      {
+        "ID": "PS",
+        "Type": "Pneumatic System",
+        "Technology": [
+          "Medium Supply 2-stage + ESS + AMS"
+        ]
+      }
+    ],
+    "OverSpeedEcoRoll": {
+      "Mode": "Overspeed",
+      "MinSpeed": 50.0,
+      "OverSpeed": 5.0,
+      "UnderSpeed": 5.0
+    }
+  }
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Engine_324kW_12.7l.veng b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Engine_324kW_12.7l.veng
new file mode 100644
index 0000000000000000000000000000000000000000..268260fcd305c7db013a66502a1495d1d76d5ec7
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Engine_324kW_12.7l.veng	
@@ -0,0 +1,28 @@
+{
+  "Header": {
+    "CreatedBy": "",
+    "Date": "2017-06-22T11:15:58.5117543Z",
+    "AppVersion": "3",
+    "FileVersion": 4
+  },
+  "Body": {
+    "SavedInDeclMode": true,
+    "ModelName": "324kW 7l Engine",
+    "Displacement": "7000",
+    "IdlingSpeed": 600.0,
+    "Inertia": 3.6,
+    "WHTC-Urban": 1.0,
+    "WHTC-Rural": 1.0,
+    "WHTC-Motorway": 1.0,
+    "WHTC-Engineering": 1.0,
+    "ColdHotBalancingFactor": 1.0,
+    "CFRegPer": 1.0,
+    "CFNCV": 1.0,
+    "RatedPower": 324000.0,
+    "RatedSpeed": 1600.0,
+    "MaxTorque": 2300.0,
+    "FuelType": 0,
+    "FullLoadCurve": "324kW.vfld",
+    "FuelMap": "350kW.vmap"
+  }
+}
\ No newline at end of file
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_1.vtlm b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_1.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..211ceb1b69b3215b8eb6cfe3b87fc7c9953f9b71
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_1.vtlm	
@@ -0,0 +1,193 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-812,28
+0,-348,19
+0,0,5
+0,58,7
+0,290,12
+0,522,16
+0,754,21
+0,986,26
+0,1218,30
+0,1450,35
+0,1682,39
+0,1914,44
+0,2146,49
+0,2378,53
+0,2610,58
+0,2842,63
+100,-812,30
+100,-348,21
+100,0,6
+100,58,8
+100,290,13
+100,522,17
+100,754,22
+100,986,27
+100,1218,31
+100,1450,36
+100,1682,41
+100,1914,45
+100,2146,50
+100,2378,55
+100,2610,59
+100,2842,64
+300,-812,32
+300,-348,23
+300,0,7
+300,58,9
+300,290,14
+300,522,19
+300,754,23
+300,986,28
+300,1218,32
+300,1450,37
+300,1682,42
+300,1914,46
+300,2146,51
+300,2378,56
+300,2610,60
+300,2842,65
+500,-812,35
+500,-348,26
+500,0,8
+500,58,10
+500,290,15
+500,522,20
+500,754,24
+500,986,29
+500,1218,34
+500,1450,38
+500,1682,43
+500,1914,48
+500,2146,52
+500,2378,57
+500,2610,61
+500,2842,66
+700,-812,37
+700,-348,28
+700,0,9
+700,58,12
+700,290,16
+700,522,21
+700,754,26
+700,986,30
+700,1218,35
+700,1450,39
+700,1682,44
+700,1914,49
+700,2146,53
+700,2378,58
+700,2610,63
+700,2842,67
+900,-812,39
+900,-348,30
+900,0,10
+900,58,13
+900,290,17
+900,522,22
+900,754,27
+900,986,31
+900,1218,36
+900,1450,41
+900,1682,45
+900,1914,50
+900,2146,55
+900,2378,59
+900,2610,64
+900,2842,68
+1100,-812,42
+1100,-348,32
+1100,0,11
+1100,58,14
+1100,290,19
+1100,522,23
+1100,754,28
+1100,986,32
+1100,1218,37
+1100,1450,42
+1100,1682,46
+1100,1914,51
+1100,2146,56
+1100,2378,60
+1100,2610,65
+1100,2842,70
+1300,-812,44
+1300,-348,35
+1300,0,12
+1300,58,15
+1300,290,20
+1300,522,24
+1300,754,29
+1300,986,34
+1300,1218,38
+1300,1450,43
+1300,1682,48
+1300,1914,52
+1300,2146,57
+1300,2378,61
+1300,2610,66
+1300,2842,71
+1500,-812,46
+1500,-348,37
+1500,0,13
+1500,58,16
+1500,290,21
+1500,522,26
+1500,754,30
+1500,986,35
+1500,1218,39
+1500,1450,44
+1500,1682,49
+1500,1914,53
+1500,2146,58
+1500,2378,63
+1500,2610,67
+1500,2842,72
+1700,-812,49
+1700,-348,39
+1700,0,14
+1700,58,17
+1700,290,22
+1700,522,27
+1700,754,31
+1700,986,36
+1700,1218,41
+1700,1450,45
+1700,1682,50
+1700,1914,55
+1700,2146,59
+1700,2378,64
+1700,2610,68
+1700,2842,73
+1900,-812,51
+1900,-348,42
+1900,0,15
+1900,58,19
+1900,290,23
+1900,522,28
+1900,754,32
+1900,986,37
+1900,1218,42
+1900,1450,46
+1900,1682,51
+1900,1914,56
+1900,2146,60
+1900,2378,65
+1900,2610,70
+1900,2842,74
+2100,-812,53
+2100,-348,44
+2100,0,16
+2100,58,20
+2100,290,24
+2100,522,29
+2100,754,34
+2100,986,38
+2100,1218,43
+2100,1450,48
+2100,1682,52
+2100,1914,57
+2100,2146,61
+2100,2378,66
+2100,2610,71
+2100,2842,75
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_10.vtlm b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_10.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..211ceb1b69b3215b8eb6cfe3b87fc7c9953f9b71
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_10.vtlm	
@@ -0,0 +1,193 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-812,28
+0,-348,19
+0,0,5
+0,58,7
+0,290,12
+0,522,16
+0,754,21
+0,986,26
+0,1218,30
+0,1450,35
+0,1682,39
+0,1914,44
+0,2146,49
+0,2378,53
+0,2610,58
+0,2842,63
+100,-812,30
+100,-348,21
+100,0,6
+100,58,8
+100,290,13
+100,522,17
+100,754,22
+100,986,27
+100,1218,31
+100,1450,36
+100,1682,41
+100,1914,45
+100,2146,50
+100,2378,55
+100,2610,59
+100,2842,64
+300,-812,32
+300,-348,23
+300,0,7
+300,58,9
+300,290,14
+300,522,19
+300,754,23
+300,986,28
+300,1218,32
+300,1450,37
+300,1682,42
+300,1914,46
+300,2146,51
+300,2378,56
+300,2610,60
+300,2842,65
+500,-812,35
+500,-348,26
+500,0,8
+500,58,10
+500,290,15
+500,522,20
+500,754,24
+500,986,29
+500,1218,34
+500,1450,38
+500,1682,43
+500,1914,48
+500,2146,52
+500,2378,57
+500,2610,61
+500,2842,66
+700,-812,37
+700,-348,28
+700,0,9
+700,58,12
+700,290,16
+700,522,21
+700,754,26
+700,986,30
+700,1218,35
+700,1450,39
+700,1682,44
+700,1914,49
+700,2146,53
+700,2378,58
+700,2610,63
+700,2842,67
+900,-812,39
+900,-348,30
+900,0,10
+900,58,13
+900,290,17
+900,522,22
+900,754,27
+900,986,31
+900,1218,36
+900,1450,41
+900,1682,45
+900,1914,50
+900,2146,55
+900,2378,59
+900,2610,64
+900,2842,68
+1100,-812,42
+1100,-348,32
+1100,0,11
+1100,58,14
+1100,290,19
+1100,522,23
+1100,754,28
+1100,986,32
+1100,1218,37
+1100,1450,42
+1100,1682,46
+1100,1914,51
+1100,2146,56
+1100,2378,60
+1100,2610,65
+1100,2842,70
+1300,-812,44
+1300,-348,35
+1300,0,12
+1300,58,15
+1300,290,20
+1300,522,24
+1300,754,29
+1300,986,34
+1300,1218,38
+1300,1450,43
+1300,1682,48
+1300,1914,52
+1300,2146,57
+1300,2378,61
+1300,2610,66
+1300,2842,71
+1500,-812,46
+1500,-348,37
+1500,0,13
+1500,58,16
+1500,290,21
+1500,522,26
+1500,754,30
+1500,986,35
+1500,1218,39
+1500,1450,44
+1500,1682,49
+1500,1914,53
+1500,2146,58
+1500,2378,63
+1500,2610,67
+1500,2842,72
+1700,-812,49
+1700,-348,39
+1700,0,14
+1700,58,17
+1700,290,22
+1700,522,27
+1700,754,31
+1700,986,36
+1700,1218,41
+1700,1450,45
+1700,1682,50
+1700,1914,55
+1700,2146,59
+1700,2378,64
+1700,2610,68
+1700,2842,73
+1900,-812,51
+1900,-348,42
+1900,0,15
+1900,58,19
+1900,290,23
+1900,522,28
+1900,754,32
+1900,986,37
+1900,1218,42
+1900,1450,46
+1900,1682,51
+1900,1914,56
+1900,2146,60
+1900,2378,65
+1900,2610,70
+1900,2842,74
+2100,-812,53
+2100,-348,44
+2100,0,16
+2100,58,20
+2100,290,24
+2100,522,29
+2100,754,34
+2100,986,38
+2100,1218,43
+2100,1450,48
+2100,1682,52
+2100,1914,57
+2100,2146,61
+2100,2378,66
+2100,2610,71
+2100,2842,75
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_11.vtlm b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_11.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..211ceb1b69b3215b8eb6cfe3b87fc7c9953f9b71
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_11.vtlm	
@@ -0,0 +1,193 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-812,28
+0,-348,19
+0,0,5
+0,58,7
+0,290,12
+0,522,16
+0,754,21
+0,986,26
+0,1218,30
+0,1450,35
+0,1682,39
+0,1914,44
+0,2146,49
+0,2378,53
+0,2610,58
+0,2842,63
+100,-812,30
+100,-348,21
+100,0,6
+100,58,8
+100,290,13
+100,522,17
+100,754,22
+100,986,27
+100,1218,31
+100,1450,36
+100,1682,41
+100,1914,45
+100,2146,50
+100,2378,55
+100,2610,59
+100,2842,64
+300,-812,32
+300,-348,23
+300,0,7
+300,58,9
+300,290,14
+300,522,19
+300,754,23
+300,986,28
+300,1218,32
+300,1450,37
+300,1682,42
+300,1914,46
+300,2146,51
+300,2378,56
+300,2610,60
+300,2842,65
+500,-812,35
+500,-348,26
+500,0,8
+500,58,10
+500,290,15
+500,522,20
+500,754,24
+500,986,29
+500,1218,34
+500,1450,38
+500,1682,43
+500,1914,48
+500,2146,52
+500,2378,57
+500,2610,61
+500,2842,66
+700,-812,37
+700,-348,28
+700,0,9
+700,58,12
+700,290,16
+700,522,21
+700,754,26
+700,986,30
+700,1218,35
+700,1450,39
+700,1682,44
+700,1914,49
+700,2146,53
+700,2378,58
+700,2610,63
+700,2842,67
+900,-812,39
+900,-348,30
+900,0,10
+900,58,13
+900,290,17
+900,522,22
+900,754,27
+900,986,31
+900,1218,36
+900,1450,41
+900,1682,45
+900,1914,50
+900,2146,55
+900,2378,59
+900,2610,64
+900,2842,68
+1100,-812,42
+1100,-348,32
+1100,0,11
+1100,58,14
+1100,290,19
+1100,522,23
+1100,754,28
+1100,986,32
+1100,1218,37
+1100,1450,42
+1100,1682,46
+1100,1914,51
+1100,2146,56
+1100,2378,60
+1100,2610,65
+1100,2842,70
+1300,-812,44
+1300,-348,35
+1300,0,12
+1300,58,15
+1300,290,20
+1300,522,24
+1300,754,29
+1300,986,34
+1300,1218,38
+1300,1450,43
+1300,1682,48
+1300,1914,52
+1300,2146,57
+1300,2378,61
+1300,2610,66
+1300,2842,71
+1500,-812,46
+1500,-348,37
+1500,0,13
+1500,58,16
+1500,290,21
+1500,522,26
+1500,754,30
+1500,986,35
+1500,1218,39
+1500,1450,44
+1500,1682,49
+1500,1914,53
+1500,2146,58
+1500,2378,63
+1500,2610,67
+1500,2842,72
+1700,-812,49
+1700,-348,39
+1700,0,14
+1700,58,17
+1700,290,22
+1700,522,27
+1700,754,31
+1700,986,36
+1700,1218,41
+1700,1450,45
+1700,1682,50
+1700,1914,55
+1700,2146,59
+1700,2378,64
+1700,2610,68
+1700,2842,73
+1900,-812,51
+1900,-348,42
+1900,0,15
+1900,58,19
+1900,290,23
+1900,522,28
+1900,754,32
+1900,986,37
+1900,1218,42
+1900,1450,46
+1900,1682,51
+1900,1914,56
+1900,2146,60
+1900,2378,65
+1900,2610,70
+1900,2842,74
+2100,-812,53
+2100,-348,44
+2100,0,16
+2100,58,20
+2100,290,24
+2100,522,29
+2100,754,34
+2100,986,38
+2100,1218,43
+2100,1450,48
+2100,1682,52
+2100,1914,57
+2100,2146,61
+2100,2378,66
+2100,2610,71
+2100,2842,75
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_12.vtlm b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_12.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..4dfffd693b9b66d912044ed77371b0b6150c491c
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_12.vtlm	
@@ -0,0 +1,193 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-2457,23
+0,-117,12
+0,0,5
+0,59,6
+0,293,7
+0,527,8
+0,761,9
+0,995,11
+0,1229,12
+0,1463,13
+0,1697,14
+0,1931,15
+0,2165,16
+0,2399,18
+0,2633,19
+0,2867,20
+100,-2457,26
+100,-117,14
+100,0,6
+100,59,7
+100,293,8
+100,527,9
+100,761,11
+100,995,12
+100,1229,13
+100,1463,14
+100,1697,15
+100,1931,16
+100,2165,18
+100,2399,19
+100,2633,20
+100,2867,21
+300,-2457,28
+300,-117,16
+300,0,7
+300,59,8
+300,293,9
+300,527,11
+300,761,12
+300,995,13
+300,1229,14
+300,1463,15
+300,1697,16
+300,1931,18
+300,2165,19
+300,2399,20
+300,2633,21
+300,2867,22
+500,-2457,30
+500,-117,19
+500,0,8
+500,59,9
+500,293,11
+500,527,12
+500,761,13
+500,995,14
+500,1229,15
+500,1463,16
+500,1697,18
+500,1931,19
+500,2165,20
+500,2399,21
+500,2633,22
+500,2867,23
+700,-2457,33
+700,-117,21
+700,0,9
+700,59,11
+700,293,12
+700,527,13
+700,761,14
+700,995,15
+700,1229,16
+700,1463,18
+700,1697,19
+700,1931,20
+700,2165,21
+700,2399,22
+700,2633,23
+700,2867,25
+900,-2457,35
+900,-117,23
+900,0,10
+900,59,12
+900,293,13
+900,527,14
+900,761,15
+900,995,16
+900,1229,18
+900,1463,19
+900,1697,20
+900,1931,21
+900,2165,22
+900,2399,23
+900,2633,25
+900,2867,26
+1100,-2457,37
+1100,-117,26
+1100,0,11
+1100,59,13
+1100,293,14
+1100,527,15
+1100,761,16
+1100,995,18
+1100,1229,19
+1100,1463,20
+1100,1697,21
+1100,1931,22
+1100,2165,23
+1100,2399,25
+1100,2633,26
+1100,2867,27
+1300,-2457,40
+1300,-117,28
+1300,0,12
+1300,59,14
+1300,293,15
+1300,527,16
+1300,761,18
+1300,995,19
+1300,1229,20
+1300,1463,21
+1300,1697,22
+1300,1931,23
+1300,2165,25
+1300,2399,26
+1300,2633,27
+1300,2867,28
+1500,-2457,42
+1500,-117,30
+1500,0,13
+1500,59,15
+1500,293,16
+1500,527,18
+1500,761,19
+1500,995,20
+1500,1229,21
+1500,1463,22
+1500,1697,23
+1500,1931,25
+1500,2165,26
+1500,2399,27
+1500,2633,28
+1500,2867,29
+1700,-2457,44
+1700,-117,33
+1700,0,14
+1700,59,16
+1700,293,18
+1700,527,19
+1700,761,20
+1700,995,21
+1700,1229,22
+1700,1463,23
+1700,1697,25
+1700,1931,26
+1700,2165,27
+1700,2399,28
+1700,2633,29
+1700,2867,30
+1900,-2457,47
+1900,-117,35
+1900,0,15
+1900,59,18
+1900,293,19
+1900,527,20
+1900,761,21
+1900,995,22
+1900,1229,23
+1900,1463,25
+1900,1697,26
+1900,1931,27
+1900,2165,28
+1900,2399,29
+1900,2633,30
+1900,2867,32
+2100,-2457,49
+2100,-117,37
+2100,0,16
+2100,59,19
+2100,293,20
+2100,527,21
+2100,761,22
+2100,995,23
+2100,1229,25
+2100,1463,26
+2100,1697,27
+2100,1931,28
+2100,2165,29
+2100,2399,30
+2100,2633,32
+2100,2867,33
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_2.vtlm b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_2.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..211ceb1b69b3215b8eb6cfe3b87fc7c9953f9b71
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_2.vtlm	
@@ -0,0 +1,193 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-812,28
+0,-348,19
+0,0,5
+0,58,7
+0,290,12
+0,522,16
+0,754,21
+0,986,26
+0,1218,30
+0,1450,35
+0,1682,39
+0,1914,44
+0,2146,49
+0,2378,53
+0,2610,58
+0,2842,63
+100,-812,30
+100,-348,21
+100,0,6
+100,58,8
+100,290,13
+100,522,17
+100,754,22
+100,986,27
+100,1218,31
+100,1450,36
+100,1682,41
+100,1914,45
+100,2146,50
+100,2378,55
+100,2610,59
+100,2842,64
+300,-812,32
+300,-348,23
+300,0,7
+300,58,9
+300,290,14
+300,522,19
+300,754,23
+300,986,28
+300,1218,32
+300,1450,37
+300,1682,42
+300,1914,46
+300,2146,51
+300,2378,56
+300,2610,60
+300,2842,65
+500,-812,35
+500,-348,26
+500,0,8
+500,58,10
+500,290,15
+500,522,20
+500,754,24
+500,986,29
+500,1218,34
+500,1450,38
+500,1682,43
+500,1914,48
+500,2146,52
+500,2378,57
+500,2610,61
+500,2842,66
+700,-812,37
+700,-348,28
+700,0,9
+700,58,12
+700,290,16
+700,522,21
+700,754,26
+700,986,30
+700,1218,35
+700,1450,39
+700,1682,44
+700,1914,49
+700,2146,53
+700,2378,58
+700,2610,63
+700,2842,67
+900,-812,39
+900,-348,30
+900,0,10
+900,58,13
+900,290,17
+900,522,22
+900,754,27
+900,986,31
+900,1218,36
+900,1450,41
+900,1682,45
+900,1914,50
+900,2146,55
+900,2378,59
+900,2610,64
+900,2842,68
+1100,-812,42
+1100,-348,32
+1100,0,11
+1100,58,14
+1100,290,19
+1100,522,23
+1100,754,28
+1100,986,32
+1100,1218,37
+1100,1450,42
+1100,1682,46
+1100,1914,51
+1100,2146,56
+1100,2378,60
+1100,2610,65
+1100,2842,70
+1300,-812,44
+1300,-348,35
+1300,0,12
+1300,58,15
+1300,290,20
+1300,522,24
+1300,754,29
+1300,986,34
+1300,1218,38
+1300,1450,43
+1300,1682,48
+1300,1914,52
+1300,2146,57
+1300,2378,61
+1300,2610,66
+1300,2842,71
+1500,-812,46
+1500,-348,37
+1500,0,13
+1500,58,16
+1500,290,21
+1500,522,26
+1500,754,30
+1500,986,35
+1500,1218,39
+1500,1450,44
+1500,1682,49
+1500,1914,53
+1500,2146,58
+1500,2378,63
+1500,2610,67
+1500,2842,72
+1700,-812,49
+1700,-348,39
+1700,0,14
+1700,58,17
+1700,290,22
+1700,522,27
+1700,754,31
+1700,986,36
+1700,1218,41
+1700,1450,45
+1700,1682,50
+1700,1914,55
+1700,2146,59
+1700,2378,64
+1700,2610,68
+1700,2842,73
+1900,-812,51
+1900,-348,42
+1900,0,15
+1900,58,19
+1900,290,23
+1900,522,28
+1900,754,32
+1900,986,37
+1900,1218,42
+1900,1450,46
+1900,1682,51
+1900,1914,56
+1900,2146,60
+1900,2378,65
+1900,2610,70
+1900,2842,74
+2100,-812,53
+2100,-348,44
+2100,0,16
+2100,58,20
+2100,290,24
+2100,522,29
+2100,754,34
+2100,986,38
+2100,1218,43
+2100,1450,48
+2100,1682,52
+2100,1914,57
+2100,2146,61
+2100,2378,66
+2100,2610,71
+2100,2842,75
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_3.vtlm b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_3.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..211ceb1b69b3215b8eb6cfe3b87fc7c9953f9b71
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_3.vtlm	
@@ -0,0 +1,193 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-812,28
+0,-348,19
+0,0,5
+0,58,7
+0,290,12
+0,522,16
+0,754,21
+0,986,26
+0,1218,30
+0,1450,35
+0,1682,39
+0,1914,44
+0,2146,49
+0,2378,53
+0,2610,58
+0,2842,63
+100,-812,30
+100,-348,21
+100,0,6
+100,58,8
+100,290,13
+100,522,17
+100,754,22
+100,986,27
+100,1218,31
+100,1450,36
+100,1682,41
+100,1914,45
+100,2146,50
+100,2378,55
+100,2610,59
+100,2842,64
+300,-812,32
+300,-348,23
+300,0,7
+300,58,9
+300,290,14
+300,522,19
+300,754,23
+300,986,28
+300,1218,32
+300,1450,37
+300,1682,42
+300,1914,46
+300,2146,51
+300,2378,56
+300,2610,60
+300,2842,65
+500,-812,35
+500,-348,26
+500,0,8
+500,58,10
+500,290,15
+500,522,20
+500,754,24
+500,986,29
+500,1218,34
+500,1450,38
+500,1682,43
+500,1914,48
+500,2146,52
+500,2378,57
+500,2610,61
+500,2842,66
+700,-812,37
+700,-348,28
+700,0,9
+700,58,12
+700,290,16
+700,522,21
+700,754,26
+700,986,30
+700,1218,35
+700,1450,39
+700,1682,44
+700,1914,49
+700,2146,53
+700,2378,58
+700,2610,63
+700,2842,67
+900,-812,39
+900,-348,30
+900,0,10
+900,58,13
+900,290,17
+900,522,22
+900,754,27
+900,986,31
+900,1218,36
+900,1450,41
+900,1682,45
+900,1914,50
+900,2146,55
+900,2378,59
+900,2610,64
+900,2842,68
+1100,-812,42
+1100,-348,32
+1100,0,11
+1100,58,14
+1100,290,19
+1100,522,23
+1100,754,28
+1100,986,32
+1100,1218,37
+1100,1450,42
+1100,1682,46
+1100,1914,51
+1100,2146,56
+1100,2378,60
+1100,2610,65
+1100,2842,70
+1300,-812,44
+1300,-348,35
+1300,0,12
+1300,58,15
+1300,290,20
+1300,522,24
+1300,754,29
+1300,986,34
+1300,1218,38
+1300,1450,43
+1300,1682,48
+1300,1914,52
+1300,2146,57
+1300,2378,61
+1300,2610,66
+1300,2842,71
+1500,-812,46
+1500,-348,37
+1500,0,13
+1500,58,16
+1500,290,21
+1500,522,26
+1500,754,30
+1500,986,35
+1500,1218,39
+1500,1450,44
+1500,1682,49
+1500,1914,53
+1500,2146,58
+1500,2378,63
+1500,2610,67
+1500,2842,72
+1700,-812,49
+1700,-348,39
+1700,0,14
+1700,58,17
+1700,290,22
+1700,522,27
+1700,754,31
+1700,986,36
+1700,1218,41
+1700,1450,45
+1700,1682,50
+1700,1914,55
+1700,2146,59
+1700,2378,64
+1700,2610,68
+1700,2842,73
+1900,-812,51
+1900,-348,42
+1900,0,15
+1900,58,19
+1900,290,23
+1900,522,28
+1900,754,32
+1900,986,37
+1900,1218,42
+1900,1450,46
+1900,1682,51
+1900,1914,56
+1900,2146,60
+1900,2378,65
+1900,2610,70
+1900,2842,74
+2100,-812,53
+2100,-348,44
+2100,0,16
+2100,58,20
+2100,290,24
+2100,522,29
+2100,754,34
+2100,986,38
+2100,1218,43
+2100,1450,48
+2100,1682,52
+2100,1914,57
+2100,2146,61
+2100,2378,66
+2100,2610,71
+2100,2842,75
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_4.vtlm b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_4.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..211ceb1b69b3215b8eb6cfe3b87fc7c9953f9b71
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_4.vtlm	
@@ -0,0 +1,193 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-812,28
+0,-348,19
+0,0,5
+0,58,7
+0,290,12
+0,522,16
+0,754,21
+0,986,26
+0,1218,30
+0,1450,35
+0,1682,39
+0,1914,44
+0,2146,49
+0,2378,53
+0,2610,58
+0,2842,63
+100,-812,30
+100,-348,21
+100,0,6
+100,58,8
+100,290,13
+100,522,17
+100,754,22
+100,986,27
+100,1218,31
+100,1450,36
+100,1682,41
+100,1914,45
+100,2146,50
+100,2378,55
+100,2610,59
+100,2842,64
+300,-812,32
+300,-348,23
+300,0,7
+300,58,9
+300,290,14
+300,522,19
+300,754,23
+300,986,28
+300,1218,32
+300,1450,37
+300,1682,42
+300,1914,46
+300,2146,51
+300,2378,56
+300,2610,60
+300,2842,65
+500,-812,35
+500,-348,26
+500,0,8
+500,58,10
+500,290,15
+500,522,20
+500,754,24
+500,986,29
+500,1218,34
+500,1450,38
+500,1682,43
+500,1914,48
+500,2146,52
+500,2378,57
+500,2610,61
+500,2842,66
+700,-812,37
+700,-348,28
+700,0,9
+700,58,12
+700,290,16
+700,522,21
+700,754,26
+700,986,30
+700,1218,35
+700,1450,39
+700,1682,44
+700,1914,49
+700,2146,53
+700,2378,58
+700,2610,63
+700,2842,67
+900,-812,39
+900,-348,30
+900,0,10
+900,58,13
+900,290,17
+900,522,22
+900,754,27
+900,986,31
+900,1218,36
+900,1450,41
+900,1682,45
+900,1914,50
+900,2146,55
+900,2378,59
+900,2610,64
+900,2842,68
+1100,-812,42
+1100,-348,32
+1100,0,11
+1100,58,14
+1100,290,19
+1100,522,23
+1100,754,28
+1100,986,32
+1100,1218,37
+1100,1450,42
+1100,1682,46
+1100,1914,51
+1100,2146,56
+1100,2378,60
+1100,2610,65
+1100,2842,70
+1300,-812,44
+1300,-348,35
+1300,0,12
+1300,58,15
+1300,290,20
+1300,522,24
+1300,754,29
+1300,986,34
+1300,1218,38
+1300,1450,43
+1300,1682,48
+1300,1914,52
+1300,2146,57
+1300,2378,61
+1300,2610,66
+1300,2842,71
+1500,-812,46
+1500,-348,37
+1500,0,13
+1500,58,16
+1500,290,21
+1500,522,26
+1500,754,30
+1500,986,35
+1500,1218,39
+1500,1450,44
+1500,1682,49
+1500,1914,53
+1500,2146,58
+1500,2378,63
+1500,2610,67
+1500,2842,72
+1700,-812,49
+1700,-348,39
+1700,0,14
+1700,58,17
+1700,290,22
+1700,522,27
+1700,754,31
+1700,986,36
+1700,1218,41
+1700,1450,45
+1700,1682,50
+1700,1914,55
+1700,2146,59
+1700,2378,64
+1700,2610,68
+1700,2842,73
+1900,-812,51
+1900,-348,42
+1900,0,15
+1900,58,19
+1900,290,23
+1900,522,28
+1900,754,32
+1900,986,37
+1900,1218,42
+1900,1450,46
+1900,1682,51
+1900,1914,56
+1900,2146,60
+1900,2378,65
+1900,2610,70
+1900,2842,74
+2100,-812,53
+2100,-348,44
+2100,0,16
+2100,58,20
+2100,290,24
+2100,522,29
+2100,754,34
+2100,986,38
+2100,1218,43
+2100,1450,48
+2100,1682,52
+2100,1914,57
+2100,2146,61
+2100,2378,66
+2100,2610,71
+2100,2842,75
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_5.vtlm b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_5.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..211ceb1b69b3215b8eb6cfe3b87fc7c9953f9b71
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_5.vtlm	
@@ -0,0 +1,193 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-812,28
+0,-348,19
+0,0,5
+0,58,7
+0,290,12
+0,522,16
+0,754,21
+0,986,26
+0,1218,30
+0,1450,35
+0,1682,39
+0,1914,44
+0,2146,49
+0,2378,53
+0,2610,58
+0,2842,63
+100,-812,30
+100,-348,21
+100,0,6
+100,58,8
+100,290,13
+100,522,17
+100,754,22
+100,986,27
+100,1218,31
+100,1450,36
+100,1682,41
+100,1914,45
+100,2146,50
+100,2378,55
+100,2610,59
+100,2842,64
+300,-812,32
+300,-348,23
+300,0,7
+300,58,9
+300,290,14
+300,522,19
+300,754,23
+300,986,28
+300,1218,32
+300,1450,37
+300,1682,42
+300,1914,46
+300,2146,51
+300,2378,56
+300,2610,60
+300,2842,65
+500,-812,35
+500,-348,26
+500,0,8
+500,58,10
+500,290,15
+500,522,20
+500,754,24
+500,986,29
+500,1218,34
+500,1450,38
+500,1682,43
+500,1914,48
+500,2146,52
+500,2378,57
+500,2610,61
+500,2842,66
+700,-812,37
+700,-348,28
+700,0,9
+700,58,12
+700,290,16
+700,522,21
+700,754,26
+700,986,30
+700,1218,35
+700,1450,39
+700,1682,44
+700,1914,49
+700,2146,53
+700,2378,58
+700,2610,63
+700,2842,67
+900,-812,39
+900,-348,30
+900,0,10
+900,58,13
+900,290,17
+900,522,22
+900,754,27
+900,986,31
+900,1218,36
+900,1450,41
+900,1682,45
+900,1914,50
+900,2146,55
+900,2378,59
+900,2610,64
+900,2842,68
+1100,-812,42
+1100,-348,32
+1100,0,11
+1100,58,14
+1100,290,19
+1100,522,23
+1100,754,28
+1100,986,32
+1100,1218,37
+1100,1450,42
+1100,1682,46
+1100,1914,51
+1100,2146,56
+1100,2378,60
+1100,2610,65
+1100,2842,70
+1300,-812,44
+1300,-348,35
+1300,0,12
+1300,58,15
+1300,290,20
+1300,522,24
+1300,754,29
+1300,986,34
+1300,1218,38
+1300,1450,43
+1300,1682,48
+1300,1914,52
+1300,2146,57
+1300,2378,61
+1300,2610,66
+1300,2842,71
+1500,-812,46
+1500,-348,37
+1500,0,13
+1500,58,16
+1500,290,21
+1500,522,26
+1500,754,30
+1500,986,35
+1500,1218,39
+1500,1450,44
+1500,1682,49
+1500,1914,53
+1500,2146,58
+1500,2378,63
+1500,2610,67
+1500,2842,72
+1700,-812,49
+1700,-348,39
+1700,0,14
+1700,58,17
+1700,290,22
+1700,522,27
+1700,754,31
+1700,986,36
+1700,1218,41
+1700,1450,45
+1700,1682,50
+1700,1914,55
+1700,2146,59
+1700,2378,64
+1700,2610,68
+1700,2842,73
+1900,-812,51
+1900,-348,42
+1900,0,15
+1900,58,19
+1900,290,23
+1900,522,28
+1900,754,32
+1900,986,37
+1900,1218,42
+1900,1450,46
+1900,1682,51
+1900,1914,56
+1900,2146,60
+1900,2378,65
+1900,2610,70
+1900,2842,74
+2100,-812,53
+2100,-348,44
+2100,0,16
+2100,58,20
+2100,290,24
+2100,522,29
+2100,754,34
+2100,986,38
+2100,1218,43
+2100,1450,48
+2100,1682,52
+2100,1914,57
+2100,2146,61
+2100,2378,66
+2100,2610,71
+2100,2842,75
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_6.vtlm b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_6.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..211ceb1b69b3215b8eb6cfe3b87fc7c9953f9b71
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_6.vtlm	
@@ -0,0 +1,193 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-812,28
+0,-348,19
+0,0,5
+0,58,7
+0,290,12
+0,522,16
+0,754,21
+0,986,26
+0,1218,30
+0,1450,35
+0,1682,39
+0,1914,44
+0,2146,49
+0,2378,53
+0,2610,58
+0,2842,63
+100,-812,30
+100,-348,21
+100,0,6
+100,58,8
+100,290,13
+100,522,17
+100,754,22
+100,986,27
+100,1218,31
+100,1450,36
+100,1682,41
+100,1914,45
+100,2146,50
+100,2378,55
+100,2610,59
+100,2842,64
+300,-812,32
+300,-348,23
+300,0,7
+300,58,9
+300,290,14
+300,522,19
+300,754,23
+300,986,28
+300,1218,32
+300,1450,37
+300,1682,42
+300,1914,46
+300,2146,51
+300,2378,56
+300,2610,60
+300,2842,65
+500,-812,35
+500,-348,26
+500,0,8
+500,58,10
+500,290,15
+500,522,20
+500,754,24
+500,986,29
+500,1218,34
+500,1450,38
+500,1682,43
+500,1914,48
+500,2146,52
+500,2378,57
+500,2610,61
+500,2842,66
+700,-812,37
+700,-348,28
+700,0,9
+700,58,12
+700,290,16
+700,522,21
+700,754,26
+700,986,30
+700,1218,35
+700,1450,39
+700,1682,44
+700,1914,49
+700,2146,53
+700,2378,58
+700,2610,63
+700,2842,67
+900,-812,39
+900,-348,30
+900,0,10
+900,58,13
+900,290,17
+900,522,22
+900,754,27
+900,986,31
+900,1218,36
+900,1450,41
+900,1682,45
+900,1914,50
+900,2146,55
+900,2378,59
+900,2610,64
+900,2842,68
+1100,-812,42
+1100,-348,32
+1100,0,11
+1100,58,14
+1100,290,19
+1100,522,23
+1100,754,28
+1100,986,32
+1100,1218,37
+1100,1450,42
+1100,1682,46
+1100,1914,51
+1100,2146,56
+1100,2378,60
+1100,2610,65
+1100,2842,70
+1300,-812,44
+1300,-348,35
+1300,0,12
+1300,58,15
+1300,290,20
+1300,522,24
+1300,754,29
+1300,986,34
+1300,1218,38
+1300,1450,43
+1300,1682,48
+1300,1914,52
+1300,2146,57
+1300,2378,61
+1300,2610,66
+1300,2842,71
+1500,-812,46
+1500,-348,37
+1500,0,13
+1500,58,16
+1500,290,21
+1500,522,26
+1500,754,30
+1500,986,35
+1500,1218,39
+1500,1450,44
+1500,1682,49
+1500,1914,53
+1500,2146,58
+1500,2378,63
+1500,2610,67
+1500,2842,72
+1700,-812,49
+1700,-348,39
+1700,0,14
+1700,58,17
+1700,290,22
+1700,522,27
+1700,754,31
+1700,986,36
+1700,1218,41
+1700,1450,45
+1700,1682,50
+1700,1914,55
+1700,2146,59
+1700,2378,64
+1700,2610,68
+1700,2842,73
+1900,-812,51
+1900,-348,42
+1900,0,15
+1900,58,19
+1900,290,23
+1900,522,28
+1900,754,32
+1900,986,37
+1900,1218,42
+1900,1450,46
+1900,1682,51
+1900,1914,56
+1900,2146,60
+1900,2378,65
+1900,2610,70
+1900,2842,74
+2100,-812,53
+2100,-348,44
+2100,0,16
+2100,58,20
+2100,290,24
+2100,522,29
+2100,754,34
+2100,986,38
+2100,1218,43
+2100,1450,48
+2100,1682,52
+2100,1914,57
+2100,2146,61
+2100,2378,66
+2100,2610,71
+2100,2842,75
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_7.vtlm b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_7.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..211ceb1b69b3215b8eb6cfe3b87fc7c9953f9b71
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_7.vtlm	
@@ -0,0 +1,193 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-812,28
+0,-348,19
+0,0,5
+0,58,7
+0,290,12
+0,522,16
+0,754,21
+0,986,26
+0,1218,30
+0,1450,35
+0,1682,39
+0,1914,44
+0,2146,49
+0,2378,53
+0,2610,58
+0,2842,63
+100,-812,30
+100,-348,21
+100,0,6
+100,58,8
+100,290,13
+100,522,17
+100,754,22
+100,986,27
+100,1218,31
+100,1450,36
+100,1682,41
+100,1914,45
+100,2146,50
+100,2378,55
+100,2610,59
+100,2842,64
+300,-812,32
+300,-348,23
+300,0,7
+300,58,9
+300,290,14
+300,522,19
+300,754,23
+300,986,28
+300,1218,32
+300,1450,37
+300,1682,42
+300,1914,46
+300,2146,51
+300,2378,56
+300,2610,60
+300,2842,65
+500,-812,35
+500,-348,26
+500,0,8
+500,58,10
+500,290,15
+500,522,20
+500,754,24
+500,986,29
+500,1218,34
+500,1450,38
+500,1682,43
+500,1914,48
+500,2146,52
+500,2378,57
+500,2610,61
+500,2842,66
+700,-812,37
+700,-348,28
+700,0,9
+700,58,12
+700,290,16
+700,522,21
+700,754,26
+700,986,30
+700,1218,35
+700,1450,39
+700,1682,44
+700,1914,49
+700,2146,53
+700,2378,58
+700,2610,63
+700,2842,67
+900,-812,39
+900,-348,30
+900,0,10
+900,58,13
+900,290,17
+900,522,22
+900,754,27
+900,986,31
+900,1218,36
+900,1450,41
+900,1682,45
+900,1914,50
+900,2146,55
+900,2378,59
+900,2610,64
+900,2842,68
+1100,-812,42
+1100,-348,32
+1100,0,11
+1100,58,14
+1100,290,19
+1100,522,23
+1100,754,28
+1100,986,32
+1100,1218,37
+1100,1450,42
+1100,1682,46
+1100,1914,51
+1100,2146,56
+1100,2378,60
+1100,2610,65
+1100,2842,70
+1300,-812,44
+1300,-348,35
+1300,0,12
+1300,58,15
+1300,290,20
+1300,522,24
+1300,754,29
+1300,986,34
+1300,1218,38
+1300,1450,43
+1300,1682,48
+1300,1914,52
+1300,2146,57
+1300,2378,61
+1300,2610,66
+1300,2842,71
+1500,-812,46
+1500,-348,37
+1500,0,13
+1500,58,16
+1500,290,21
+1500,522,26
+1500,754,30
+1500,986,35
+1500,1218,39
+1500,1450,44
+1500,1682,49
+1500,1914,53
+1500,2146,58
+1500,2378,63
+1500,2610,67
+1500,2842,72
+1700,-812,49
+1700,-348,39
+1700,0,14
+1700,58,17
+1700,290,22
+1700,522,27
+1700,754,31
+1700,986,36
+1700,1218,41
+1700,1450,45
+1700,1682,50
+1700,1914,55
+1700,2146,59
+1700,2378,64
+1700,2610,68
+1700,2842,73
+1900,-812,51
+1900,-348,42
+1900,0,15
+1900,58,19
+1900,290,23
+1900,522,28
+1900,754,32
+1900,986,37
+1900,1218,42
+1900,1450,46
+1900,1682,51
+1900,1914,56
+1900,2146,60
+1900,2378,65
+1900,2610,70
+1900,2842,74
+2100,-812,53
+2100,-348,44
+2100,0,16
+2100,58,20
+2100,290,24
+2100,522,29
+2100,754,34
+2100,986,38
+2100,1218,43
+2100,1450,48
+2100,1682,52
+2100,1914,57
+2100,2146,61
+2100,2378,66
+2100,2610,71
+2100,2842,75
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_8.vtlm b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_8.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..211ceb1b69b3215b8eb6cfe3b87fc7c9953f9b71
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_8.vtlm	
@@ -0,0 +1,193 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-812,28
+0,-348,19
+0,0,5
+0,58,7
+0,290,12
+0,522,16
+0,754,21
+0,986,26
+0,1218,30
+0,1450,35
+0,1682,39
+0,1914,44
+0,2146,49
+0,2378,53
+0,2610,58
+0,2842,63
+100,-812,30
+100,-348,21
+100,0,6
+100,58,8
+100,290,13
+100,522,17
+100,754,22
+100,986,27
+100,1218,31
+100,1450,36
+100,1682,41
+100,1914,45
+100,2146,50
+100,2378,55
+100,2610,59
+100,2842,64
+300,-812,32
+300,-348,23
+300,0,7
+300,58,9
+300,290,14
+300,522,19
+300,754,23
+300,986,28
+300,1218,32
+300,1450,37
+300,1682,42
+300,1914,46
+300,2146,51
+300,2378,56
+300,2610,60
+300,2842,65
+500,-812,35
+500,-348,26
+500,0,8
+500,58,10
+500,290,15
+500,522,20
+500,754,24
+500,986,29
+500,1218,34
+500,1450,38
+500,1682,43
+500,1914,48
+500,2146,52
+500,2378,57
+500,2610,61
+500,2842,66
+700,-812,37
+700,-348,28
+700,0,9
+700,58,12
+700,290,16
+700,522,21
+700,754,26
+700,986,30
+700,1218,35
+700,1450,39
+700,1682,44
+700,1914,49
+700,2146,53
+700,2378,58
+700,2610,63
+700,2842,67
+900,-812,39
+900,-348,30
+900,0,10
+900,58,13
+900,290,17
+900,522,22
+900,754,27
+900,986,31
+900,1218,36
+900,1450,41
+900,1682,45
+900,1914,50
+900,2146,55
+900,2378,59
+900,2610,64
+900,2842,68
+1100,-812,42
+1100,-348,32
+1100,0,11
+1100,58,14
+1100,290,19
+1100,522,23
+1100,754,28
+1100,986,32
+1100,1218,37
+1100,1450,42
+1100,1682,46
+1100,1914,51
+1100,2146,56
+1100,2378,60
+1100,2610,65
+1100,2842,70
+1300,-812,44
+1300,-348,35
+1300,0,12
+1300,58,15
+1300,290,20
+1300,522,24
+1300,754,29
+1300,986,34
+1300,1218,38
+1300,1450,43
+1300,1682,48
+1300,1914,52
+1300,2146,57
+1300,2378,61
+1300,2610,66
+1300,2842,71
+1500,-812,46
+1500,-348,37
+1500,0,13
+1500,58,16
+1500,290,21
+1500,522,26
+1500,754,30
+1500,986,35
+1500,1218,39
+1500,1450,44
+1500,1682,49
+1500,1914,53
+1500,2146,58
+1500,2378,63
+1500,2610,67
+1500,2842,72
+1700,-812,49
+1700,-348,39
+1700,0,14
+1700,58,17
+1700,290,22
+1700,522,27
+1700,754,31
+1700,986,36
+1700,1218,41
+1700,1450,45
+1700,1682,50
+1700,1914,55
+1700,2146,59
+1700,2378,64
+1700,2610,68
+1700,2842,73
+1900,-812,51
+1900,-348,42
+1900,0,15
+1900,58,19
+1900,290,23
+1900,522,28
+1900,754,32
+1900,986,37
+1900,1218,42
+1900,1450,46
+1900,1682,51
+1900,1914,56
+1900,2146,60
+1900,2378,65
+1900,2610,70
+1900,2842,74
+2100,-812,53
+2100,-348,44
+2100,0,16
+2100,58,20
+2100,290,24
+2100,522,29
+2100,754,34
+2100,986,38
+2100,1218,43
+2100,1450,48
+2100,1682,52
+2100,1914,57
+2100,2146,61
+2100,2378,66
+2100,2610,71
+2100,2842,75
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_9.vtlm b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_9.vtlm
new file mode 100644
index 0000000000000000000000000000000000000000..211ceb1b69b3215b8eb6cfe3b87fc7c9953f9b71
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Gear_9.vtlm	
@@ -0,0 +1,193 @@
+Input Speed [rpm],Input Torque [Nm],Torque Loss [Nm]
+0,-812,28
+0,-348,19
+0,0,5
+0,58,7
+0,290,12
+0,522,16
+0,754,21
+0,986,26
+0,1218,30
+0,1450,35
+0,1682,39
+0,1914,44
+0,2146,49
+0,2378,53
+0,2610,58
+0,2842,63
+100,-812,30
+100,-348,21
+100,0,6
+100,58,8
+100,290,13
+100,522,17
+100,754,22
+100,986,27
+100,1218,31
+100,1450,36
+100,1682,41
+100,1914,45
+100,2146,50
+100,2378,55
+100,2610,59
+100,2842,64
+300,-812,32
+300,-348,23
+300,0,7
+300,58,9
+300,290,14
+300,522,19
+300,754,23
+300,986,28
+300,1218,32
+300,1450,37
+300,1682,42
+300,1914,46
+300,2146,51
+300,2378,56
+300,2610,60
+300,2842,65
+500,-812,35
+500,-348,26
+500,0,8
+500,58,10
+500,290,15
+500,522,20
+500,754,24
+500,986,29
+500,1218,34
+500,1450,38
+500,1682,43
+500,1914,48
+500,2146,52
+500,2378,57
+500,2610,61
+500,2842,66
+700,-812,37
+700,-348,28
+700,0,9
+700,58,12
+700,290,16
+700,522,21
+700,754,26
+700,986,30
+700,1218,35
+700,1450,39
+700,1682,44
+700,1914,49
+700,2146,53
+700,2378,58
+700,2610,63
+700,2842,67
+900,-812,39
+900,-348,30
+900,0,10
+900,58,13
+900,290,17
+900,522,22
+900,754,27
+900,986,31
+900,1218,36
+900,1450,41
+900,1682,45
+900,1914,50
+900,2146,55
+900,2378,59
+900,2610,64
+900,2842,68
+1100,-812,42
+1100,-348,32
+1100,0,11
+1100,58,14
+1100,290,19
+1100,522,23
+1100,754,28
+1100,986,32
+1100,1218,37
+1100,1450,42
+1100,1682,46
+1100,1914,51
+1100,2146,56
+1100,2378,60
+1100,2610,65
+1100,2842,70
+1300,-812,44
+1300,-348,35
+1300,0,12
+1300,58,15
+1300,290,20
+1300,522,24
+1300,754,29
+1300,986,34
+1300,1218,38
+1300,1450,43
+1300,1682,48
+1300,1914,52
+1300,2146,57
+1300,2378,61
+1300,2610,66
+1300,2842,71
+1500,-812,46
+1500,-348,37
+1500,0,13
+1500,58,16
+1500,290,21
+1500,522,26
+1500,754,30
+1500,986,35
+1500,1218,39
+1500,1450,44
+1500,1682,49
+1500,1914,53
+1500,2146,58
+1500,2378,63
+1500,2610,67
+1500,2842,72
+1700,-812,49
+1700,-348,39
+1700,0,14
+1700,58,17
+1700,290,22
+1700,522,27
+1700,754,31
+1700,986,36
+1700,1218,41
+1700,1450,45
+1700,1682,50
+1700,1914,55
+1700,2146,59
+1700,2378,64
+1700,2610,68
+1700,2842,73
+1900,-812,51
+1900,-348,42
+1900,0,15
+1900,58,19
+1900,290,23
+1900,522,28
+1900,754,32
+1900,986,37
+1900,1218,42
+1900,1450,46
+1900,1682,51
+1900,1914,56
+1900,2146,60
+1900,2378,65
+1900,2610,70
+1900,2842,74
+2100,-812,53
+2100,-348,44
+2100,0,16
+2100,58,20
+2100,290,24
+2100,522,29
+2100,754,34
+2100,986,38
+2100,1218,43
+2100,1450,48
+2100,1682,52
+2100,1914,57
+2100,2146,61
+2100,2378,66
+2100,2610,71
+2100,2842,75
diff --git a/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Retarder.vrlm b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Retarder.vrlm
new file mode 100644
index 0000000000000000000000000000000000000000..eb575b99973291e5414c4826da086c1f03a7f179
--- /dev/null
+++ b/VectoCore/VectoCoreTest/TestData/Generic Vehicles/Declaration Mode/Class9_RigidTruck_6x2/Retarder.vrlm	
@@ -0,0 +1,32 @@
+Retarder Speed [1/min],Torque Loss [Nm]
+0,10
+100,10
+200,10.1
+300,10.2
+400,10.3
+500,10.5
+600,10.7
+700,11
+800,11.3
+900,11.6
+1000,12
+1100,12.4
+1200,12.9
+1300,13.4
+1400,13.9
+1500,14.5
+1600,15.1
+1700,15.8
+1800,16.5
+1900,17.2
+2000,18
+2100,18.8
+2200,19.7
+2300,20.6
+2400,21.5
+2500,22.5
+2600,23.5
+2700,24.6
+2800,25.7
+2900,26.8
+3000,28
diff --git a/VectoCore/VectoCoreTest/Utils/AssertHelper.cs b/VectoCore/VectoCoreTest/Utils/AssertHelper.cs
index 84305b74ba6d5102345b899f8dc9ed6ee1fec099..6fbbabf2fe62b0bcfcb8da811d750b3daa7d0e15 100644
--- a/VectoCore/VectoCoreTest/Utils/AssertHelper.cs
+++ b/VectoCore/VectoCoreTest/Utils/AssertHelper.cs
@@ -30,10 +30,16 @@
 */
 
 using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Data;
 using System.Diagnostics;
 using System.Globalization;
+using System.Linq;
+using System.Reflection;
 using TUGraz.VectoCommon.Utils;
 using NUnit.Framework;
+using TUGraz.VectoCommon.InputData;
 
 namespace TUGraz.VectoCore.Tests.Utils
 {
@@ -105,5 +111,93 @@ namespace TUGraz.VectoCore.Tests.Utils
 				"Given values are not equal. Expected: {0}, Actual: {1}, Difference: {3} (Tolerance Factor: {2}){4}",
 				expected, actual, toleranceFactor, expected - actual, message));
 		}
+
+		public static void PublicPropertiesEqual(Type t, object expected, object actual, string[] ignoredProperties = null)
+		{
+			const BindingFlags flags =
+				BindingFlags.Instance | BindingFlags.Public |
+				BindingFlags.FlattenHierarchy;
+			var properties = t.GetProperties(flags);
+			
+			foreach (var prop in properties) {
+				if (ignoredProperties != null && ignoredProperties.Contains(prop.Name)) {
+					continue;
+				}
+				object expectedVal = null;
+				try {
+					expectedVal = prop.GetValue(expected);
+				} catch (Exception) {
+					try {
+						prop.GetValue(actual);
+						Assert.Fail("expected value thew exception, but actual value not!");
+					} catch (Exception) {
+						// both getters threw an exception - at least its the same...
+						continue;
+					}
+				}
+				var actualVal = prop.GetValue(actual);
+				var propertyType = prop.PropertyType;
+				if (expectedVal == null && actualVal == null) {
+					continue;
+				}
+				if (propertyType.IsPrimitive || propertyType == typeof(string)) {
+					Assert.AreEqual(expectedVal, actualVal);
+				} else if (propertyType == typeof(SI)) {
+					Assert.AreEqual((expectedVal as SI).Value(), (actualVal as SI).Value());
+					Assert.AreEqual((expectedVal as SI).GetUnitString(), (actualVal as SI).GetUnitString());
+				} else if (expectedVal is IEnumerable<object>) {
+					Assert.IsTrue(actualVal is IList);
+					var expectedEnumerable = (expectedVal as IEnumerable<object>).ToArray();
+					Assert.IsTrue(actualVal is IEnumerable<object>);
+					var actualEnumerable = (actualVal as IEnumerable<object>).ToArray();
+					Assert.AreEqual(expectedEnumerable.Length, actualEnumerable.Length);
+					if (expectedEnumerable.Length > 0) {
+						IterateElements(expectedEnumerable, actualEnumerable, ignoredProperties);
+					}
+				} else if(propertyType == typeof(TableData)) {
+					TableDataEquals(expectedVal as TableData, actualVal as TableData);
+				} else {
+					PublicPropertiesEqual(propertyType, expectedVal, actualVal, ignoredProperties);
+				}
+			}
+
+		}
+
+		private static void TableDataEquals(TableData expected, TableData actual)
+		{
+			Assert.NotNull(expected);
+			Assert.NotNull(actual);
+
+			Assert.AreEqual(expected.Columns.Count, actual.Columns.Count);
+			Assert.AreEqual(expected.Rows.Count, actual.Rows.Count);
+
+			foreach (DataColumn expectedCol in expected.Columns) {
+				Assert.NotNull(actual.Columns[expectedCol.ColumnName]);
+			}
+
+			//foreach (DataRow row in expected.Rows) {
+			for (var i = 0 ; i< expected.Rows.Count; i++) {
+				var expectedRow = expected.Rows[i];
+				var actualRow = actual.Rows[i];
+				foreach (DataColumn col in expected.Columns) {
+					var value = expectedRow[col];
+					if (value is ConvertedSI) {
+						Assert.AreEqual((value as ConvertedSI).Value, (actualRow[col] as ConvertedSI).Value);
+					}
+					if (value.GetType().IsPrimitive) {
+						Assert.AreEqual(value, actualRow[col]);
+					}
+				}
+			}
+			//CollectionAssert.AreEqual(expected.Rows, actual.Rows);
+
+		}
+
+		private static void IterateElements(IEnumerable<object> expected, IEnumerable<object> actual, string[] ignoredProperties = null)
+		{
+			foreach (var entry in expected.Zip(actual, Tuple.Create)) {
+				PublicPropertiesEqual(entry.Item1.GetType() ,entry.Item1, entry.Item2, ignoredProperties);
+			}
+		}
 	}
 }
diff --git a/VectoCore/VectoCoreTest/VectoCoreTest.csproj b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
index c2f426ba7c09a9ea0604f68fee93a14e88cce305..fc2a8227dbbf7d69b4daa8683edb0bfc9235539e 100644
--- a/VectoCore/VectoCoreTest/VectoCoreTest.csproj
+++ b/VectoCore/VectoCoreTest/VectoCoreTest.csproj
@@ -72,8 +72,9 @@
   <ItemGroup>
     <Compile Include="Dummy\EngineFLDTest.cs" />
     <Compile Include="Exceptions\ExceptionTests.cs" />
+    <Compile Include="FileIO\JsonWriteTest.cs" />
     <Compile Include="FileIO\VectoCSVFileTest.cs" />
-    <Compile Include="FileIO\JsonTest.cs" />
+    <Compile Include="FileIO\JsonReadTest.cs" />
     <Compile Include="FileIO\SimulationDataReaderTest.cs" />
     <Compile Include="GraphProgram.cs" />
     <Compile Include="Integration\ATPowerTrain.cs" />
@@ -183,6 +184,10 @@
       <Project>{79a066ad-69a9-4223-90f6-6ed5d2d084f4}</Project>
       <Name>VectoCommon</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\VECTO\VECTO.vbproj">
+      <Project>{AAC0F132-0A9F-45B3-B682-77AC9B24B352}</Project>
+      <Name>VECTO</Name>
+    </ProjectReference>
     <ProjectReference Include="..\VectoCore\VectoCore.csproj">
       <Project>{cd36938a-add9-4c65-96da-b397cdeea90a}</Project>
       <Name>VectoCore</Name>
@@ -473,6 +478,66 @@
     <None Include="TestData\Generic Vehicles\Declaration Mode\40t Long Haul Truck\Retarder.vrlm">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\324kW.vfld">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\350kW.vmap">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\AMT_12.vgbx">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Axle_4x2.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Class9_RigidTruck.vveh">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Class9_RigidTruck_DECL.vecto">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Engine_324kW_12.7l.veng">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Gear_1.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Gear_10.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Gear_11.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Gear_12.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Gear_2.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Gear_3.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Gear_4.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Gear_5.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Gear_6.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Gear_7.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Gear_8.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Gear_9.vtlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Include="TestData\Generic Vehicles\Declaration Mode\Class9_RigidTruck_6x2\Retarder.vrlm">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
     <None Include="TestData\Generic Vehicles\Engineering Mode\24t Coach\24t Coach.vcdv">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>