diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.B.1.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.B.1.txt new file mode 100644 index 0000000..2b902ba --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.B.1.txt @@ -0,0 +1,15 @@ +# 6.B.1. TEST CASE, MOVING WITH UNSPECIFIED COAST WHEN COAST IS NECESSARY +# Coast is significant in this case: + +unit France F Portugal + +--- + +France: +#test:fails +F Portugal - Spain + +--- + +# Move should fail. +assert hold-order Portugal diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.B.10.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.B.10.txt new file mode 100644 index 0000000..e0acebd --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.B.10.txt @@ -0,0 +1,16 @@ +# 6.B.10. TEST CASE, UNIT ORDERED WITH WRONG COAST +# A player might specify the wrong coast for the ordered unit. + +# France has a fleet on the south coast of Spain and orders: +unit France F Spain/sc + +--- + +France: +F Spain(nc) - Gulf of Lyon + +--- + +# If only perfect orders are accepted, then the move will fail, but since the coast for the ordered unit has no purpose, it might also be ignored (see issue 4.B.5). +# I prefer that a move will be attempted. +assert moves Spain diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.B.11.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.B.11.txt new file mode 100644 index 0000000..d36543a --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.B.11.txt @@ -0,0 +1,15 @@ +# 6.B.11. TEST CASE, COAST CANNOT BE ORDERED TO CHANGE +# The coast cannot change by just ordering the other coast. + +# France has a fleet on the north coast of Spain and orders: +unit France F Spain/nc + +--- + +France: +F Spain(sc) - Gulf of Lyon + +--- + +# The move fails. +assert hold-order Spain diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.B.12.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.B.12.txt new file mode 100644 index 0000000..0190919 --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.B.12.txt @@ -0,0 +1,16 @@ +# 6.B.12. TEST CASE, ARMY MOVEMENT WITH COASTAL SPECIFICATION +# For armies the coasts are irrelevant: + +unit France A Gascony + +--- + +France: +A Gascony - Spain(nc) + +--- + +# If only perfect orders are accepted, then the move will fail. But it is also possible that coasts are ignored in this case and a move will be attempted (see issue 4.B.6). +# I prefer that a move will be attempted. +assert moves Gascony + diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.B.13.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.B.13.txt new file mode 100644 index 0000000..da882e8 --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.B.13.txt @@ -0,0 +1,19 @@ +# 6.B.13. TEST CASE, COASTAL CRAWL NOT ALLOWED +# If a fleet is leaving a sector from a certain coast while in the opposite direction another fleet is moving to another coast of the sector, it is still a head-to-head battle. This has been decided in the great revision of the 1961 rules that resulted in the 1971 rules. + +unit Turkey F Bulgaria/sc +unit Turkey F Constantinople + +# Currently this test crashes with a stack overflow +#test:skip +--- + +Turkey: +F Bulgaria(sc) - Constantinople +F Constantinople - Bulgaria(ec) + +--- + +# Both moves fail. +assert no-move Bulgaria +assert no-move Constantinople diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.B.14.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.B.14.txt new file mode 100644 index 0000000..0b7b991 --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.B.14.txt @@ -0,0 +1,9 @@ +# 6.B.14. TEST CASE, BUILDING WITH UNSPECIFIED COAST +# Coast must be specified in certain build cases: + +#test:skip + +Russia: +Build F St Petersburg + +# See issue 4.B.7. Build fails. diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.B.15.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.B.15.txt new file mode 100644 index 0000000..6d9a358 --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.B.15.txt @@ -0,0 +1,26 @@ +# 6.B.15. TEST CASE, SUPPORTING FOREIGN UNIT WITH UNSPECIFIED COAST +# Opinions differ on this. + +unit France F Portugal +unit England F MAO +unit Italy F Gulf of Lyon +unit Italy F Western Mediterranean + +--- + +France: +#test:fails +F Portugal Supports F Mid-Atlantic Ocean - Spain + +England: +F Mid-Atlantic Ocean - Spain(nc) + +Italy: +F Gulf of Lyon Supports F Western Mediterranean - Spain(sc) +F Western Mediterranean - Spain(sc) + +--- + +# See issue 4.B.4. +# Although the move to the north coast of Spain might be a surprise for France, it is hard to believe that England somehow tricked France. Therefore, I prefer that the support succeeds and the Italian fleet in the Western Mediterranean bounces. However, if orders are checked on submission (such as in webbased play), support without coast should not be given as an option. +assert moves Western Mediterranean diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.B.2.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.B.2.txt new file mode 100644 index 0000000..c7efbfe --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.B.2.txt @@ -0,0 +1,15 @@ +# 6.B.2. TEST CASE, MOVING WITH UNSPECIFIED COAST WHEN COAST IS NOT NECESSARY +# There is only one coast possible in this case: + +unit France F Gascony + +--- + +France: +F Gascony - Spain + +--- + +# Since the North Coast is the only coast that can be reached, it seems logical that a move is attempted to the north coast of Spain. See issue 4.B.2. +# I prefer that an attempt is made to the only possible coast, the north coast of Spain. +assert moves Gascony diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.B.3.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.B.3.txt new file mode 100644 index 0000000..ce27f16 --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.B.3.txt @@ -0,0 +1,14 @@ +# 6.B.3. TEST CASE, MOVING WITH WRONG COAST WHEN COAST IS NOT NECESSARY +# If only one coast is possible, but the wrong coast can be specified. + +unit France F Gascony + +--- + +France: +F Gascony - Spain(sc) + +--- + +# If the rules are given a lenient interpretation, a move will be attempted to the north coast of Spain. However, this order is very precisely wrong. The order should be declared illegal and fleet should hold. See issue 4.B.3. +assert hold-order Gascony diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.B.4.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.B.4.txt new file mode 100644 index 0000000..aaa4b2a --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.B.4.txt @@ -0,0 +1,22 @@ +# 6.B.4. TEST CASE, SUPPORT TO UNREACHABLE COAST ALLOWED +# A fleet can give support to a coast where it cannot go. + +unit France F Gascony +unit France F Marseilles +unit Italy F Western Mediterranean + +--- + +France: +F Gascony - Spain(nc) +F Marseilles Supports F Gascony - Spain(nc) + +Italy: +F Western Mediterranean - Spain(sc) + +--- + +# Although the fleet in Marseilles cannot go to the north coast it can still support targeting the north coast. So, the support is successful, the move of the fleet in Gascony succeeds and the move of the Italian fleet fails. +assert moves Gascony +assert support-given Marseilles +assert no-move Western Mediterranean diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.B.5.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.B.5.txt new file mode 100644 index 0000000..2f01788 --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.B.5.txt @@ -0,0 +1,20 @@ +# 6.B.5. TEST CASE, SUPPORT FROM UNREACHABLE COAST NOT ALLOWED +# A fleet cannot give support to an area that cannot be reached from the current coast of the fleet. + +unit France F Marseilles +unit France F Spain/nc +unit Italy F Gulf of Lyon + +--- + +France: +F Marseilles - Gulf of Lyon +F Spain(nc) Supports F Marseilles - Gulf of Lyon + +Italy: +F Gulf of Lyon Hold + +--- + +# The Gulf of Lyon cannot be reached from the North Coast of Spain. Therefore, the support of Spain is illegal and the fleet in the Gulf of Lyon is not dislodged. +assert not-dislodged Gulf of Lyon diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.B.6.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.B.6.txt new file mode 100644 index 0000000..cd8f68d --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.B.6.txt @@ -0,0 +1,27 @@ +# 6.B.6. TEST CASE, SUPPORT CAN BE CUT WITH OTHER COAST +# Support can be cut from the other coast. + +unit England F Irish Sea +unit England F North Atlantic Ocean +unit France F Spain/nc +unit France F MAO +unit Italy F Gulf of Lyon + +--- + +England: +F Irish Sea Supports F North Atlantic Ocean - Mid-Atlantic Ocean +F North Atlantic Ocean - Mid-Atlantic Ocean + +France: +F Spain(nc) Supports F Mid-Atlantic Ocean +F Mid-Atlantic Ocean Hold + +Italy: +F Gulf of Lyon - Spain(sc) + +--- + +# The Italian fleet in the Gulf of Lyon will cut the support in Spain. That means that the French fleet in the Mid Atlantic Ocean will be dislodged by the English fleet in the North Atlantic Ocean. +assert support-cut Spain +assert dislodged MAO diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.B.7.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.B.7.txt new file mode 100644 index 0000000..f66e311 --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.B.7.txt @@ -0,0 +1,26 @@ +# 6.B.7. TEST CASE, SUPPORTING OWN UNIT WITH UNSPECIFIED COAST +# It is a little bit harsh to reject this. + +unit France F Portugal +unit France F MAO +unit Italy F Gulf of Lyon +unit Italy F Western Mediterranean + +--- + +France: +#test:fails +F Portugal Supports F Mid-Atlantic Ocean - Spain +F Mid-Atlantic Ocean - Spain(nc) + +Italy: +F Gulf of Lyon Supports F Western Mediterranean - Spain(sc) +F Western Mediterranean - Spain(sc) + +--- + +# See issue 4.B.4. +# I prefer that the support succeeds and the Italian fleet in the Western Mediterranean bounces. However, if orders are checked on submission (such as in webbased play), support without coast should not be given as an option. +assert moves Western Mediterranean + +# 5dplomacy takes the stricter interpretation diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.B.8.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.B.8.txt new file mode 100644 index 0000000..5cf9247 --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.B.8.txt @@ -0,0 +1,23 @@ +# 6.B.8. TEST CASE, SUPPORTING WITH UNSPECIFIED COAST WHEN ONLY ONE COAST IS POSSIBLE +# If coast is omitted while only coast is possible, it should be considered a poorly written order, that should be followed. + +unit France F Portugal +unit France F Gascony +unit Italy F Gulf of Lyon +unit Italy F Western Mediterranean + +--- + +France: +F Portugal Supports F Gascony - Spain +F Gascony - Spain(nc) + +Italy: +F Gulf of Lyon Supports F Western Mediterranean - Spain(sc) +F Western Mediterranean - Spain(sc) + +--- + +# Support of Portugal is successful and the Italian fleet in the Western Mediterranean bounces with the French fleet from Gascony. +assert no-move Gascony +assert no-move Western Mediterranean diff --git a/MultiversalDiplomacyTests/Scripts/DATC/6.B.9.txt b/MultiversalDiplomacyTests/Scripts/DATC/6.B.9.txt new file mode 100644 index 0000000..6c63f9c --- /dev/null +++ b/MultiversalDiplomacyTests/Scripts/DATC/6.B.9.txt @@ -0,0 +1,23 @@ +# 6.B.9. TEST CASE, SUPPORTING WITH WRONG COAST +# It should be possible to specify a coast and that coast should match. + +unit France F Portugal +unit France F MAO +unit Italy F Gulf of Lyon +unit Italy F Western Mediterranean + +--- + +France: +F Portugal Supports F Mid-Atlantic Ocean - Spain(nc) +F Mid-Atlantic Ocean - Spain(sc) + +Italy: +F Gulf of Lyon Supports F Western Mediterranean - Spain(sc) +F Western Mediterranean - Spain(sc) + +--- + +# See issue 4.B.4. Support of Portugal is invalid and the Italian fleet in the Western Mediterranean moves successfully. +assert moves Western mediterranean +assert no-move MAO