From 3f28055e8dd42d3d218e695547f977b8a145339f Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Mon, 26 Sep 2016 15:51:21 +0200
Subject: [PATCH] test case sensitivity of datatable columns

---
 .../ComponentData/PTOIdleLossMapReader.cs      |  2 +-
 .../Models/Simulation/PTOIdleLossTest.cs       | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/PTOIdleLossMapReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/PTOIdleLossMapReader.cs
index ef2e843c34..7df4c4ad66 100644
--- a/VectoCore/VectoCore/InputData/Reader/ComponentData/PTOIdleLossMapReader.cs
+++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/PTOIdleLossMapReader.cs
@@ -39,7 +39,7 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData
 				throw new VectoException("PTO Idle LossMap must contain at least 2 entries.");
 			}
 
-			if (!data.Columns.Contains(Fields.EngineSpeed) || !data.Columns.Contains(Fields.PTOTorque)) {
+			if (!(data.Columns.Contains(Fields.EngineSpeed) && data.Columns.Contains(Fields.PTOTorque))) {
 				data.Columns[0].ColumnName = Fields.EngineSpeed;
 				data.Columns[1].ColumnName = Fields.PTOTorque;
 				LoggingObject.Logger<RetarderLossMap>().Warn(
diff --git a/VectoCore/VectoCoreTest/Models/Simulation/PTOIdleLossTest.cs b/VectoCore/VectoCoreTest/Models/Simulation/PTOIdleLossTest.cs
index 3f95338fbd..9ba9231b9f 100644
--- a/VectoCore/VectoCoreTest/Models/Simulation/PTOIdleLossTest.cs
+++ b/VectoCore/VectoCoreTest/Models/Simulation/PTOIdleLossTest.cs
@@ -33,14 +33,32 @@ using System;
 using System.Collections.Generic;
 using NUnit.Framework;
 using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.InputData.Reader.ComponentData;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.Tests.Utils;
+using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Tests.Models.Simulation
 {
 	[TestFixture]
 	public class PTOIdleLossTest
 	{
+		[TestCase]
+		public void PTOLossMapCaseSensitiveTest()
+		{
+			var data = new[] {
+				"0, 0",
+				"10, 100"
+			};
+			var tbl = VectoCSVFile.ReadStream(InputDataHelper.InputDataAsStream("pto torque, engine speed", data));
+
+			var pto = PTOIdleLossMapReader.Create(tbl);
+
+			var loss = pto.GetTorqueLoss(100.RPMtoRad());
+			Assert.AreEqual(10, loss.Value());
+		}
+
+
 		[TestCase]
 		public void PTOIdleLosses_FixPoints()
 		{
-- 
GitLab