From f10d0e3a1fee74208ee3e645b81df2be6cbb3df9 Mon Sep 17 00:00:00 2001
From: Michael Krisper <michael.krisper@tugraz.at>
Date: Fri, 10 Dec 2021 17:47:58 +0100
Subject: [PATCH] Improved check for APT-N Gearbox when used in
 SimplePowertrain

---
 .../Models/Simulation/Impl/PowertrainBuilder.cs   | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
index aaa292d53e..d54f649789 100644
--- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
+++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs
@@ -1040,16 +1040,17 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
 					return new ATShiftStrategyOptimized(container);
 				//return new ATShiftStrategy(runData, container);
 				case GearboxType.APTN:
-					if (container.IsTestPowertrain
-						|| runData.JobType == VectoSimulationJobType.ParallelHybridVehicle
-						|| runData.JobType == VectoSimulationJobType.SerialHybridVehicle
-						|| runData.JobType == VectoSimulationJobType.BatteryElectricVehicle
-						) {
+					switch (runData.JobType) {
+						case VectoSimulationJobType.ParallelHybridVehicle:
+						case VectoSimulationJobType.SerialHybridVehicle:
+						case VectoSimulationJobType.BatteryElectricVehicle:
 						runData.ShiftStrategy = APTNShiftStrategy.Name;
 						return new APTNShiftStrategy(container);
-					}
+						case VectoSimulationJobType.ConventionalVehicle when container.IsTestPowertrain:
+							return null;
+						default:
 					throw new ArgumentException("APT-N Gearbox is only applicable on hybrids and battery electric vehicles.");
-
+					}
 				default:
 					throw new ArgumentOutOfRangeException("GearboxType",
 						$"Unknown Gearbox Type {runData.GearboxData.Type}");
-- 
GitLab