From 22c7cff29db49b5b8a005c25d87ad6d0c38acdc9 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Tue, 23 Feb 2016 12:19:50 +0100 Subject: [PATCH] fix: change comparison in segment lookup function --- VectoCore/Models/Declaration/Segments.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/VectoCore/Models/Declaration/Segments.cs b/VectoCore/Models/Declaration/Segments.cs index 3d477e01de..0d341b9a35 100644 --- a/VectoCore/Models/Declaration/Segments.cs +++ b/VectoCore/Models/Declaration/Segments.cs @@ -20,6 +20,7 @@ using System; using System.Collections.Generic; using System.Data; using System.Linq; +using TUGraz.VectoCore.Exceptions; using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Models.Declaration @@ -45,12 +46,15 @@ namespace TUGraz.VectoCore.Models.Declaration public override Segment Lookup(VehicleCategory vehicleCategory, AxleConfiguration axleConfiguration, Kilogram grossVehicleMassRating, Kilogram curbWeight) { + if (grossVehicleMassRating < 7.5.SI<Ton>()) { + throw new VectoException("Gross vehicle mass must be greater than 7.5 tons"); + } var row = SegmentTable.Rows.Cast<DataRow>().First(r => r.Field<string>("valid") == "1" && r.Field<string>("vehiclecategory") == vehicleCategory.ToString() && r.Field<string>("axleconf.") == axleConfiguration.GetName() - && r.ParseDouble("gvw_min").SI<Ton>() <= grossVehicleMassRating - && r.ParseDouble("gvw_max").SI<Ton>() > grossVehicleMassRating + && r.ParseDouble("gvw_min").SI<Ton>() < grossVehicleMassRating + && r.ParseDouble("gvw_max").SI<Ton>() >= grossVehicleMassRating ); var segment = new Segment { GrossVehicleWeightMin = row.ParseDouble("gvw_min").SI().Ton.Cast<Kilogram>(), -- GitLab