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