Skip to content

Goal 3 SP7: Integration tests and false-positive validation #617

Description

@bedaHovorka

Goal 3 SP7: integration tests and false-positive validation for collision detection.

Parent: #610

Deliverables

New files:

  • core/src/jvmTest/kotlin/cz/vutbr/fit/interlockSim/sim/collision/CollisionDetectionIntegrationTest.kt
  • core/src/jvmTest/kotlin/cz/vutbr/fit/interlockSim/sim/collision/PredictiveTtcTest.kt
  • core/src/jvmTest/kotlin/cz/vutbr/fit/interlockSim/sim/collision/AutoPauseHaltTest.kt
  • docs/MANUAL_TEST_PLAN_GOAL_3.md

Tests

  1. Reservation conflict integration — two trains request same entry-exit path; exactly one ReservationConflict emitted; no deadlock.
  2. Block-entry violation integration — deliberately bypass reservation and drive a second train into an occupied block; warning emitted.
  3. Predictive TTC false-positive suite — run 100 iterations of safe multi-train scenarios and assert zero PredictiveCollision warnings.
  4. Auto-pause/halt integration@RepeatedTest(50) verifying pause/halt behavior.

Acceptance criteria

  • All new tests pass.
  • No existing Goal 1/2 tests regress.
  • False-positive rate for predictive TTC is documented (target < 1% in safe scenarios).

Quality gate

./gradlew clean build detekt ktlintCheck :core:test :core:integrationTest :desktop-ui:test

Depends on

#615 Goal 3 SP5, #616 Goal 3 SP6

Downstream link

Goal 9 SP7 (#593) end-to-end integration will extend this false-positive validation suite.

Metadata

Metadata

Labels

coreChanges to the :core multiplatform modulegoal-3Goal 3: Collision Detection and Warning (parent #610)integrationIntegration test coveragesub-taskSub-task of a parent goal/milestone issuetestingTest infrastructure and test quality

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions