Import DATC 6.B tests

This commit is contained in:
Tim Van Baak 2024-09-10 04:45:30 +00:00
parent 128f5a4230
commit cf1bde0790
15 changed files with 286 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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