You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The simulation uses the following simplified traffic model:
@@ -418,6 +502,27 @@ Reasons:
418
502
- simplifies debugging and testing
419
503
- avoids random phase switching
420
504
505
+
# Continuous Integration
506
+
507
+
The project uses **GitHub Actions** to automatically run tests on every push and pull request.
508
+
509
+
The CI pipeline performs:
510
+
511
+
1. Backend build and tests (Maven)
512
+
2. Frontend build and tests (Angular + Karma)
513
+
514
+
Example workflow:
515
+
516
+
```yaml
517
+
Backend tests
518
+
mvn -B -ntp test
519
+
520
+
Frontend tests
521
+
npm ci
522
+
npm test -- --watch=false --browsers=ChromeHeadless
523
+
524
+
```
525
+
421
526
# Tests
422
527
423
528
The project contains a set of unit and integration-style tests that verify the correctness of the simulation logic, input parsing and validation rules.
@@ -517,14 +622,3 @@ To execute the full test suite run:
517
622
```
518
623
mvn test
519
624
```
520
-
521
-
# Possible Improvements
522
-
523
-
The current implementation focuses on correctness, determinism, and clarity. To make the system more realistic and feature-rich, the following extensions could be added:
524
-
525
-
-**Fairness & Starvation Prevention** – Introduce waiting-time based scoring to ensure low-demand directions are not ignored.
526
-
-**Right Turn on Red** – Allow conditional right turns during incompatible phases if there is no conflicting traffic.
527
-
-**Multi-Lane Roads** – Support separate lanes (left, straight, right) to allow multiple vehicles to pass simultaneously.
528
-
-**Pedestrian Crossings** – Model pedestrian phases and request buttons that safely pause conflicting vehicle traffic.
529
-
-**Traffic Statistics** – Collect data on average waiting times, queue lengths, and throughput to analyze algorithm efficiency.
530
-
-**Visualization (Web UI)** – Build a graphical interface for real-time intersection monitoring and interactive command input.
0 commit comments