Skip to content

Commit d09c49e

Browse files
committed
core: stdcm: use the correct block length in unavailable space builder
1 parent 74e4c51 commit d09c49e

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

core/src/main/java/fr/sncf/osrd/stdcm/preprocessing/implementation/UnavailableSpaceBuilder.java

+9-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public static Multimap<Integer, OccupancySegment> computeUnavailableSpace(
6767
var secPreBlockLength = blockInfra.getBlockLength(secondPredecessorBlock);
6868
unavailableSpace.put(secondPredecessorBlock, new OccupancySegment(
6969
timeRange.lowerEndpoint(), timeRange.upperEndpoint(),
70-
Math.max(0, secPreBlockLength - SIGHT_DISTANCE), preBlockLength
70+
Math.max(0, secPreBlockLength - SIGHT_DISTANCE), secPreBlockLength
7171
));
7272
}
7373
}
@@ -83,6 +83,14 @@ public static Multimap<Integer, OccupancySegment> computeUnavailableSpace(
8383
}
8484
}
8585
}
86+
// validation
87+
for (var entry : unavailableSpace.entries()) {
88+
assert entry.getValue().distanceStart() <= entry.getValue().distanceEnd();
89+
assert entry.getValue().timeStart() <= entry.getValue().timeEnd();
90+
assert entry.getValue().distanceEnd() <= blockInfra.getBlockLength(entry.getKey());
91+
assert 0 <= entry.getValue().distanceStart();
92+
assert 0 <= entry.getValue().timeEnd();
93+
}
8694
return unavailableSpace;
8795
}
8896

0 commit comments

Comments
 (0)