From 9fc298addab9fd056231990a8905327a84add3d0 Mon Sep 17 00:00:00 2001 From: Tim Van Baak Date: Fri, 6 Sep 2024 16:42:29 +0000 Subject: [PATCH] Remove in-code DATC A tests in favor of scripts --- MultiversalDiplomacyTests/DATC_A.cs | 223 ---------------------------- 1 file changed, 223 deletions(-) delete mode 100644 MultiversalDiplomacyTests/DATC_A.cs diff --git a/MultiversalDiplomacyTests/DATC_A.cs b/MultiversalDiplomacyTests/DATC_A.cs deleted file mode 100644 index 578b471..0000000 --- a/MultiversalDiplomacyTests/DATC_A.cs +++ /dev/null @@ -1,223 +0,0 @@ -using MultiversalDiplomacy.Adjudicate; -using MultiversalDiplomacy.Model; -using MultiversalDiplomacy.Orders; -using NUnit.Framework; - -using static MultiversalDiplomacyTests.Adjudicator; - -namespace MultiversalDiplomacyTests; - -public class DATC_A -{ - private World StandardEmpty { get; } = World.WithStandardMap(); - - [Test] - public void DATC_6_A_1_MoveToAnAreaThatIsNotANeighbor() - { - TestCaseBuilder setup = new TestCaseBuilder(StandardEmpty); - setup["England"] - .Fleet("North Sea").MovesTo("Picardy").GetReference(out var order); - - // Order should fail. - setup.ValidateOrders(MovementPhase); - Assert.That(order, Is.Invalid(ValidationReason.UnreachableDestination)); - } - - [Test] - public void DATC_6_A_2_MoveArmyToSea() - { - TestCaseBuilder setup = new TestCaseBuilder(StandardEmpty); - - // Order should fail. - Assert.That( - () => - { - setup["England"] - .Army("Liverpool").MovesTo("Irish Sea"); - }, - Throws.TypeOf()); - } - - [Test] - public void DATC_6_A_3_MoveFleetToLand() - { - TestCaseBuilder setup = new TestCaseBuilder(StandardEmpty); - - // Order should fail. - Assert.That( - () => - { - setup["Germany"] - .Fleet("Kiel").MovesTo("Munich"); - }, - Throws.TypeOf()); - } - - [Test] - public void DATC_6_A_4_MoveToOwnSector() - { - TestCaseBuilder setup = new TestCaseBuilder(StandardEmpty); - setup["Germany"] - .Fleet("Kiel").MovesTo("Kiel").GetReference(out var order); - - // Program should not crash. - setup.ValidateOrders(MovementPhase); - Assert.That(order, Is.Invalid(ValidationReason.DestinationMatchesOrigin)); - } - - [Test] - public void DATC_6_A_5_MoveToOwnSectorWithConvoy() - { - TestCaseBuilder setup = new TestCaseBuilder(StandardEmpty); - setup - ["England"] - .Fleet("North Sea").Convoys.Army("Yorkshire").To("Yorkshire").GetReference(out var orderNth) - .Army("Yorkshire").MovesTo("Yorkshire").GetReference(out var orderYor) - .Army("Liverpool").Supports.Army("Yorkshire").MoveTo("Yorkshire") - ["Germany"] - .Fleet("London").MovesTo("Yorkshire").GetReference(out var orderLon) - .Army("Wales").Supports.Fleet("London").MoveTo("Yorkshire"); - - // The move of the army in Yorkshire is illegal. This makes the support of Liverpool also illegal. - setup.ValidateOrders(MovementPhase); - Assert.That(orderLon, Is.Valid); - Assert.That(orderNth, Is.Invalid(ValidationReason.DestinationMatchesOrigin)); - Assert.That(orderYor, Is.Invalid(ValidationReason.DestinationMatchesOrigin)); - var orderYorRepl = orderYor.GetReplacementReference(); - - // Without the support, the Germans have a stronger force. The army in London dislodges the army in Yorkshire. - setup.AdjudicateOrders(MovementPhase); - Assert.That(orderLon, Is.Victorious); - Assert.That(orderYorRepl, Is.Dislodged); - } - - [Test] - public void DATC_6_A_6_OrderingAUnitOfAnotherCountry() - { - TestCaseBuilder setup = new TestCaseBuilder(StandardEmpty); - setup - ["Germany"] - .Fleet("London", powerName: "England").MovesTo("North Sea").GetReference(out var order); - - // Order should fail. - setup.ValidateOrders(MovementPhase); - Assert.That(order, Is.Invalid(ValidationReason.InvalidUnitForPower)); - } - - [Test] - public void DATC_6_A_7_OnlyArmiesCanBeConvoyed() - { - TestCaseBuilder setup = new TestCaseBuilder(StandardEmpty); - setup - ["England"] - .Fleet("London").MovesTo("Belgium") - .Fleet("North Sea").Convoys.Army("London").To("Belgium").GetReference(out var order); - - // Move from London to Belgium should fail. - setup.ValidateOrders(MovementPhase); - Assert.That(order, Is.Invalid(ValidationReason.InvalidOrderTypeForUnit)); - } - - [Test] - public void DATC_6_A_8_SupportToHoldYourselfIsNotPossible() - { - TestCaseBuilder setup = new TestCaseBuilder(StandardEmpty); - setup - ["Italy"] - .Army("Venice").MovesTo("Trieste") - .Army("Tyrolia").Supports.Army("Venice").MoveTo("Trieste") - ["Austria"] - .Fleet("Trieste").Supports.Fleet("Trieste").Hold().GetReference(out var orderTri); - - setup.ValidateOrders(MovementPhase); - Assert.That(orderTri, Is.Invalid(ValidationReason.NoSelfSupport)); - var orderTriRepl = orderTri.GetReplacementReference(); - - // The army in Trieste should be dislodged. - setup.AdjudicateOrders(MovementPhase); - Assert.That(orderTriRepl, Is.Dislodged); - } - - [Test] - public void DATC_6_A_9_FleetsMustFollowCoastIfNotOnSea() - { - TestCaseBuilder setup = new TestCaseBuilder(StandardEmpty); - setup - ["Italy"] - .Fleet("Rome").MovesTo("Venice").GetReference(out var order); - - // Move fails. An army can go from Rome to Venice, but a fleet can not. - setup.ValidateOrders(MovementPhase); - Assert.That(order, Is.Invalid(ValidationReason.UnreachableDestination)); - } - - [Test] - public void DATC_6_A_10_SupportOnUnreachableDestinationNotPossible() - { - TestCaseBuilder setup = new TestCaseBuilder(StandardEmpty); - setup - ["Austria"] - .Army("Venice").Holds().GetReference(out var orderVen) - ["Italy"] - .Army("Apulia").MovesTo("Venice") - .Fleet("Rome").Supports.Army("Apulia").MoveTo("Venice").GetReference(out var orderRom); - - setup.ValidateOrders(MovementPhase); - - // The support of Rome is illegal, because Venice can not be reached from Rome by a fleet. - Assert.That(orderRom, Is.Invalid(ValidationReason.UnreachableSupport)); - - // Venice is not dislodged. - setup.AdjudicateOrders(MovementPhase); - Assert.That(orderVen, Is.NotDislodged); - } - - [Test] - public void DATC_6_A_11_SimpleBounce() - { - TestCaseBuilder setup = new TestCaseBuilder(StandardEmpty); - setup - ["Austria"] - .Army("Vienna").MovesTo("Tyrolia").GetReference(out var orderVie) - ["Italy"] - .Army("Venice").MovesTo("Tyrolia").GetReference(out var orderVen); - - setup.ValidateOrders(MovementPhase); - Assert.That(orderVie, Is.Valid); - Assert.That(orderVen, Is.Valid); - - // The two units bounce. - var adjudications = setup.AdjudicateOrders(MovementPhase); - Assert.That(orderVie, Is.Repelled); - Assert.That(orderVie, Is.NotDislodged); - Assert.That(orderVen, Is.Repelled); - Assert.That(orderVen, Is.NotDislodged); - } - - [Test] - public void DATC_6_A_12_BounceOfThreeUnits() - { - TestCaseBuilder setup = new TestCaseBuilder(StandardEmpty); - setup - ["Austria"] - .Army("Vienna").MovesTo("Tyrolia").GetReference(out var orderVie) - ["Germany"] - .Army("Munich").MovesTo("Tyrolia").GetReference(out var orderMun) - ["Italy"] - .Army("Venice").MovesTo("Tyrolia").GetReference(out var orderVen); - - var validations = setup.ValidateOrders(MovementPhase); - Assert.That(orderVie, Is.Valid); - Assert.That(orderMun, Is.Valid); - Assert.That(orderVen, Is.Valid); - - var adjudications = setup.AdjudicateOrders(MovementPhase); - // The three units bounce. - Assert.That(orderVie, Is.Repelled); - Assert.That(orderVie, Is.NotDislodged); - Assert.That(orderMun, Is.Repelled); - Assert.That(orderMun, Is.NotDislodged); - Assert.That(orderVen, Is.Repelled); - Assert.That(orderVen, Is.NotDislodged); - } -} \ No newline at end of file