From 8c5b06ae95e1545d0734b9fc1d8de55f3d838c44 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <quaritsch@ivt.tugraz.at>
Date: Wed, 7 Dec 2022 14:08:13 +0100
Subject: [PATCH] extend mock data for testcase

---
 .../Simulation/LossMapRangeValidationTest.cs  | 35 ++++++++++++++++---
 1 file changed, 31 insertions(+), 4 deletions(-)

diff --git a/VectoCore/VectoCoreTest/Models/Simulation/LossMapRangeValidationTest.cs b/VectoCore/VectoCoreTest/Models/Simulation/LossMapRangeValidationTest.cs
index 3f1881fe6c..df317a5b45 100644
--- a/VectoCore/VectoCoreTest/Models/Simulation/LossMapRangeValidationTest.cs
+++ b/VectoCore/VectoCoreTest/Models/Simulation/LossMapRangeValidationTest.cs
@@ -35,11 +35,13 @@ using System.Collections.Generic;
 using System.ComponentModel.DataAnnotations;
 using System.IO;
 using System.Linq;
+using Moq;
 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.Impl;
 using TUGraz.VectoCore.InputData.Reader.ComponentData;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.Simulation.Data;
@@ -82,6 +84,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			var gearboxData = CreateGearboxData(GearboxDirectLoss, GearboxIndirectLoss);
 			var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(EngineFile, gearboxData.Gears.Count);
 			var axleGearData = CreateAxleGearData(AxleGearLossMap);
+			var mockVehicleInputData = new Mock<IVehicleDeclarationInputData>();
 			var vehicleData = new VehicleData {
 				DynamicTyreRadius = 0.85.SI<Meter>(),
 				Loading = 0.SI<Kilogram>(),
@@ -94,7 +97,8 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 							TyreTestLoad = 50000.SI<Newton>(),
 							Inertia = 10.SI<KilogramSquareMeter>()
 						}
-					}
+					},
+				InputData = mockVehicleInputData.Object,
 			};
 
 			var runData = new VectoRunData {
@@ -133,7 +137,23 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			var gearboxData = CreateGearboxData(GearboxLimited, GearboxLimited);
 			var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(EngineFile, gearboxData.Gears.Count);
 			var axleGearData = CreateAxleGearData(AxleGearLossMap);
-			var runData = new VectoRunData { GearboxData = gearboxData, EngineData = engineData, AxleGearData = axleGearData };
+			var mockVehicleInputData = new Mock<IVehicleDeclarationInputData>();
+			var vehicleData = new VehicleData {
+				DynamicTyreRadius = 0.85.SI<Meter>(),
+				Loading = 0.SI<Kilogram>(),
+				CurbMass = 2000.SI<Kilogram>(),
+				AxleData =
+					new List<Axle> {
+						new Axle {
+							TwinTyres = false,
+							AxleWeightShare = 1,
+							TyreTestLoad = 50000.SI<Newton>(),
+							Inertia = 10.SI<KilogramSquareMeter>()
+						}
+					},
+				InputData = mockVehicleInputData.Object
+			};
+			var runData = new VectoRunData { GearboxData = gearboxData, EngineData = engineData, AxleGearData = axleGearData, VehicleData = vehicleData};
 			var result = VectoRunData.ValidateRunData(runData, new ValidationContext(runData));
 			Assert.IsFalse(ValidationResult.Success == result);
 		}
@@ -146,6 +166,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 		{
 			var gearboxData = CreateGearboxData(GearboxDirectLoss, GearboxIndirectLoss);
 			var engineData = MockSimulationDataFactory.CreateEngineDataFromFile(EngineFile, gearboxData.Gears.Count);
+			var mockVehicleInputData = new Mock<IVehicleDeclarationInputData>();
 			var vehicleData = new VehicleData {
 				DynamicTyreRadius = 0.85.SI<Meter>(),
 				Loading = 0.SI<Kilogram>(),
@@ -158,7 +179,8 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 							TyreTestLoad = 50000.SI<Newton>(),
 							Inertia = 10.SI<KilogramSquareMeter>()
 						}
-					}
+					},
+				InputData = mockVehicleInputData.Object
 			};
 			var runData = new VectoRunData {
 				GearboxData = gearboxData,
@@ -198,6 +220,10 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 		private static GearboxData CreateGearboxData(string directlossMap, string indirectLossMap)
 		{
 			var ratios = new[] { 14.93, 11.64, 9.02, 7.04, 5.64, 4.4, 3.39, 2.65, 2.05, 1.6, 1.28, 1.0 };
+			var gearboxInput = new Mock<IGearboxDeclarationInputData>();
+			var gears = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }
+				.Select(x => new TransmissionInputData() { Gear = x }).Cast<ITransmissionInputData>().ToList();
+			gearboxInput.Setup(g => g.Gears).Returns(gears);
 			return new GearboxData {
 				Gears = ratios.Select((ratio, i) =>
 					Tuple.Create((uint)i,
@@ -208,7 +234,8 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 							Ratio = ratio,
 							ShiftPolygon = ShiftPolygonReader.ReadFromFile(ShiftPolygonFile)
 						}))
-					.ToDictionary(k => k.Item1 + 1, v => v.Item2)
+					.ToDictionary(k => k.Item1 + 1, v => v.Item2),
+				InputData = gearboxInput.Object
 			};
 		}
 
-- 
GitLab