diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs index 8bd1a0e5d17f4e9cecca9afb8d11274ae0522dca..8fbeb9415979643b092792175c16b508707a3ee5 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/EngineeringDataAdapter.cs @@ -145,11 +145,11 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdaper retVal.Gears = gears.Select((gear, i) => { TransmissionLossMap lossMap; - if (gear.LossMap != null) + if (gear.LossMap != null) { lossMap = TransmissionLossMap.Create(gear.LossMap, gear.Ratio, string.Format("Gear {0}", i + 1)); - else if (useEfficiencyFallback) + } else if (useEfficiencyFallback) { lossMap = TransmissionLossMap.Create(gear.Efficiency, gear.Ratio, string.Format("Gear {0}", i + 1)); - else { + } else { throw new InvalidFileFormatException("Gear {0} LossMap or Efficiency missing.", i + 1); } var gearFullLoad = gear.FullLoadCurve != null @@ -185,6 +185,10 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdaper if (a.DemandMap == null) { throw new VectoSimulationException("Demand Map for auxiliary {0} {1} required", a.ID, a.Technology); } + if (a.DemandMap.Columns.Count != 3 || a.DemandMap.Rows.Count < 4) { + throw new VectoSimulationException( + "Demand Map for auxiliary {0} {1} has to contain exactly 3 columns and at least 4 rows", a.ID, a.Technology); + } return new VectoRunData.AuxData { ID = a.ID, Technology = a.Technology, diff --git a/VectoCore/VectoCore/Properties/AssemblyInfo.cs b/VectoCore/VectoCore/Properties/AssemblyInfo.cs index 26acbf31628823236bf0dc257eb059a500dcb353..0dae924fd18d0f9ee33a290d821538f179f12443 100644 --- a/VectoCore/VectoCore/Properties/AssemblyInfo.cs +++ b/VectoCore/VectoCore/Properties/AssemblyInfo.cs @@ -43,6 +43,7 @@ using System.Runtime.InteropServices; [assembly: ComVisible(false)] [assembly: Guid("b843f4c2-660b-4a3e-a336-c1f9c20aa993")] [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("VectoAPI")] +[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("VectoEngineeringAPI")] [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("VECTO")] [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("VectoCoreTest")] [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("VectoAPITest")] \ No newline at end of file