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