From 7c0cdb0a21b3d22c71cc9608a89ccf00bc8b53f2 Mon Sep 17 00:00:00 2001 From: Tim Van Baak Date: Fri, 6 Sep 2024 16:17:55 +0000 Subject: [PATCH] Add the rest of DATC 6.A to the script tests --- .../Scripts/DATC/6.A.10.txt | 21 ++++++++++++++++ .../Scripts/DATC/6.A.11.txt | 19 +++++++++++++++ .../Scripts/DATC/6.A.12.txt | 24 +++++++++++++++++++ .../Scripts/DATC/6.A.8.txt | 20 ++++++++++++++++ .../Scripts/DATC/6.A.9.txt | 14 +++++++++++ 5 files changed, 98 insertions(+) create mode 100644 MultiversalDiplomacyTests/Scripts/DATC/6.A.10.txt create mode 100644 MultiversalDiplomacyTests/Scripts/DATC/6.A.11.txt create mode 100644 MultiversalDiplomacyTests/Scripts/DATC/6.A.12.txt create mode 100644 MultiversalDiplomacyTests/Scripts/DATC/6.A.8.txt create mode 100644 MultiversalDiplomacyTests/Scripts/DATC/6.A.9.txt diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.A.10.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.A.10.txt new file mode 100644 index 0000000..479ece1 --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.A.10.txt @@ -0,0 +1,21 @@ +# 6.A.10. TEST CASE, SUPPORT ON UNREACHABLE DESTINATION NOT POSSIBLE +# The destination of the move that is supported must be reachable by the supporting unit. + +unit Austria A Venice +unit Italy F Rome +unit Italy A Apulia + +--- + +Austria: +A Venice Hold + +Italy: +F Rome Supports A Apulia - Venice +A Apulia - Venice + +--- + +# The support of Rome is illegal, because Venice cannot be reached from Rome by a fleet. Venice is not dislodged. +assert hold-order Rome +assert not-dislodged Venice diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.A.11.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.A.11.txt new file mode 100644 index 0000000..918532f --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.A.11.txt @@ -0,0 +1,19 @@ +# 6.A.11. TEST CASE, SIMPLE BOUNCE +# Two armies bouncing on each other. + +unit Austria A Vienna +unit Italy A Venice + +--- + +Austria: +A Vienna - Tyrolia + +Italy: +A Venice - Tyrolia + +--- + +# The two units bounce. +assert no-move Vienna +assert no-move Venice diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.A.12.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.A.12.txt new file mode 100644 index 0000000..3e39843 --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.A.12.txt @@ -0,0 +1,24 @@ +# 6.A.12. TEST CASE, BOUNCE OF THREE UNITS +# If three units move to the same area, the adjudicator should not bounce the first two units and then let the third unit go to the now open area. + +unit Austria A Vienna +unit Germany A Munich +unit Italy A Venice + +--- + +Austria: +A Vienna - Tyrolia + +Germany: +A Munich - Tyrolia + +Italy: +A Venice - Tyrolia + +--- + +# The three units bounce. +assert no-move Vienna +assert no-move Munich +assert no-move Venice diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.A.8.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.A.8.txt new file mode 100644 index 0000000..949770f --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.A.8.txt @@ -0,0 +1,20 @@ +# 6.A.8. TEST CASE, SUPPORT TO HOLD YOURSELF IS NOT POSSIBLE +# An army cannot get an additional hold power by supporting itself. + +unit Italy A Venice +unit Italy A Tyrolia +unit Austria F Trieste + +--- + +Italy: +A Venice - Trieste +A Tyrolia Supports A Venice - Trieste + +Austria: +F Trieste Supports F Trieste + +--- + +# The army in Trieste should be dislodged. +assert dislodged Trieste diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.A.9.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.A.9.txt new file mode 100644 index 0000000..ea4a94c --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.A.9.txt @@ -0,0 +1,14 @@ +# 6.A.9. TEST CASE, FLEETS MUST FOLLOW COAST IF NOT ON SEA +# If two provinces are adjacent, that does not mean that a fleet can move between those two provinces. An implementation that only holds one list of adjacent provinces for each province is incorrect. + +unit Italy F Rome + +--- + +Italy: +F Rome - Venice + +--- + +# Move fails. An army can go from Rome to Venice, but a fleet cannot. +assert hold-order Rome