From 2e6e6c55b85474c865a14d47e2cf24b43b17a2c9 Mon Sep 17 00:00:00 2001 From: Tim Van Baak Date: Thu, 15 Aug 2024 07:30:43 -0700 Subject: [PATCH] Reduce Order.Power to string --- .../Adjudicate/AdjudicatorHelpers.cs | 14 +++++++------- .../Adjudicate/MovementPhaseAdjudicator.cs | 2 +- MultiversalDiplomacy/Orders/BuildOrder.cs | 2 +- MultiversalDiplomacy/Orders/ConvoyOrder.cs | 2 +- MultiversalDiplomacy/Orders/DisbandOrder.cs | 2 +- MultiversalDiplomacy/Orders/HoldOrder.cs | 2 +- MultiversalDiplomacy/Orders/MoveOrder.cs | 2 +- MultiversalDiplomacy/Orders/Order.cs | 4 ++-- MultiversalDiplomacy/Orders/RetreatOrder.cs | 2 +- MultiversalDiplomacy/Orders/SupportHoldOrder.cs | 2 +- MultiversalDiplomacy/Orders/SupportMoveOrder.cs | 2 +- MultiversalDiplomacy/Orders/SupportOrder.cs | 2 +- MultiversalDiplomacy/Orders/SustainOrder.cs | 2 +- MultiversalDiplomacy/Orders/UnitOrder.cs | 2 +- MultiversalDiplomacyTests/TestCaseBuilder.cs | 10 +++++----- MultiversalDiplomacyTests/TestCaseBuilderTest.cs | 2 +- 16 files changed, 27 insertions(+), 27 deletions(-) diff --git a/MultiversalDiplomacy/Adjudicate/AdjudicatorHelpers.cs b/MultiversalDiplomacy/Adjudicate/AdjudicatorHelpers.cs index c70716b..944a707 100644 --- a/MultiversalDiplomacy/Adjudicate/AdjudicatorHelpers.cs +++ b/MultiversalDiplomacy/Adjudicate/AdjudicatorHelpers.cs @@ -77,13 +77,13 @@ internal static class AdjudicatorHelpers { InvalidateIfNotMatching( order => order switch { - ConvoyOrder convoy => convoy.Power == convoy.Unit.Power, - DisbandOrder disband => disband.Power == disband.Unit.Power, - HoldOrder hold => hold.Power == hold.Unit.Power, - MoveOrder move => move.Power == move.Unit.Power, - RetreatOrder retreat => retreat.Power == retreat.Unit.Power, - SupportHoldOrder support => support.Power == support.Unit.Power, - SupportMoveOrder support => support.Power == support.Unit.Power, + ConvoyOrder convoy => convoy.Power == convoy.Unit.Power.Name, + DisbandOrder disband => disband.Power == disband.Unit.Power.Name, + HoldOrder hold => hold.Power == hold.Unit.Power.Name, + MoveOrder move => move.Power == move.Unit.Power.Name, + RetreatOrder retreat => retreat.Power == retreat.Unit.Power.Name, + SupportHoldOrder support => support.Power == support.Unit.Power.Name, + SupportMoveOrder support => support.Power == support.Unit.Power.Name, // Any order not given to a unit, by definition, cannot be given to a unit of the // wrong power _ => true, diff --git a/MultiversalDiplomacy/Adjudicate/MovementPhaseAdjudicator.cs b/MultiversalDiplomacy/Adjudicate/MovementPhaseAdjudicator.cs index b8b6b9a..bbece30 100644 --- a/MultiversalDiplomacy/Adjudicate/MovementPhaseAdjudicator.cs +++ b/MultiversalDiplomacy/Adjudicate/MovementPhaseAdjudicator.cs @@ -262,7 +262,7 @@ public class MovementPhaseAdjudicator : IPhaseAdjudicator .Where(unit => !orderedUnits.Contains(unit)) .ToList(); List implicitHolds = unorderedUnits - .Select(unit => new HoldOrder(unit.Power, unit)) + .Select(unit => new HoldOrder(unit.Power.Name, unit)) .ToList(); validationResults = validationResults .Concat(implicitHolds.Select(o => o.Validate(ValidationReason.Valid))) diff --git a/MultiversalDiplomacy/Orders/BuildOrder.cs b/MultiversalDiplomacy/Orders/BuildOrder.cs index 29e8653..902bce5 100644 --- a/MultiversalDiplomacy/Orders/BuildOrder.cs +++ b/MultiversalDiplomacy/Orders/BuildOrder.cs @@ -17,7 +17,7 @@ public class BuildOrder : Order /// public UnitType Type { get; } - public BuildOrder(Power power, Location location, UnitType type) + public BuildOrder(string power, Location location, UnitType type) : base (power) { this.Location = location; diff --git a/MultiversalDiplomacy/Orders/ConvoyOrder.cs b/MultiversalDiplomacy/Orders/ConvoyOrder.cs index 56e92d8..fc2a4d1 100644 --- a/MultiversalDiplomacy/Orders/ConvoyOrder.cs +++ b/MultiversalDiplomacy/Orders/ConvoyOrder.cs @@ -27,7 +27,7 @@ public class ConvoyOrder : UnitOrder /// public Province Province => this.Location.Province; - public ConvoyOrder(Power power, Unit unit, Unit target, Season season, Location location) + public ConvoyOrder(string power, Unit unit, Unit target, Season season, Location location) : base (power, unit) { this.Target = target; diff --git a/MultiversalDiplomacy/Orders/DisbandOrder.cs b/MultiversalDiplomacy/Orders/DisbandOrder.cs index a04b790..f03329a 100644 --- a/MultiversalDiplomacy/Orders/DisbandOrder.cs +++ b/MultiversalDiplomacy/Orders/DisbandOrder.cs @@ -7,6 +7,6 @@ namespace MultiversalDiplomacy.Orders; /// public class DisbandOrder : UnitOrder { - public DisbandOrder(Power power, Unit unit) + public DisbandOrder(string power, Unit unit) : base (power, unit) {} } diff --git a/MultiversalDiplomacy/Orders/HoldOrder.cs b/MultiversalDiplomacy/Orders/HoldOrder.cs index ed91301..6d174db 100644 --- a/MultiversalDiplomacy/Orders/HoldOrder.cs +++ b/MultiversalDiplomacy/Orders/HoldOrder.cs @@ -7,7 +7,7 @@ namespace MultiversalDiplomacy.Orders; /// public class HoldOrder : UnitOrder { - public HoldOrder(Power power, Unit unit) + public HoldOrder(string power, Unit unit) : base (power, unit) {} public override string ToString() diff --git a/MultiversalDiplomacy/Orders/MoveOrder.cs b/MultiversalDiplomacy/Orders/MoveOrder.cs index 00ab396..5140c67 100644 --- a/MultiversalDiplomacy/Orders/MoveOrder.cs +++ b/MultiversalDiplomacy/Orders/MoveOrder.cs @@ -23,7 +23,7 @@ public class MoveOrder : UnitOrder /// public Province Province => this.Location.Province; - public MoveOrder(Power power, Unit unit, string season, Location location) + public MoveOrder(string power, Unit unit, string season, Location location) : base (power, unit) { this.Season = season; diff --git a/MultiversalDiplomacy/Orders/Order.cs b/MultiversalDiplomacy/Orders/Order.cs index fd29151..3694db5 100644 --- a/MultiversalDiplomacy/Orders/Order.cs +++ b/MultiversalDiplomacy/Orders/Order.cs @@ -22,9 +22,9 @@ public abstract class Order /// /// The power that submitted this order. /// - public Power Power { get; } + public string Power { get; } - public Order(Power power) + public Order(string power) { this.Power = power; } diff --git a/MultiversalDiplomacy/Orders/RetreatOrder.cs b/MultiversalDiplomacy/Orders/RetreatOrder.cs index a2580cd..e084afb 100644 --- a/MultiversalDiplomacy/Orders/RetreatOrder.cs +++ b/MultiversalDiplomacy/Orders/RetreatOrder.cs @@ -12,7 +12,7 @@ public class RetreatOrder : UnitOrder /// public Location Location { get; } - public RetreatOrder(Power power, Unit unit, Location location) + public RetreatOrder(string power, Unit unit, Location location) : base (power, unit) { this.Location = location; diff --git a/MultiversalDiplomacy/Orders/SupportHoldOrder.cs b/MultiversalDiplomacy/Orders/SupportHoldOrder.cs index c8e85cd..7e5ccd0 100644 --- a/MultiversalDiplomacy/Orders/SupportHoldOrder.cs +++ b/MultiversalDiplomacy/Orders/SupportHoldOrder.cs @@ -7,7 +7,7 @@ namespace MultiversalDiplomacy.Orders; /// public class SupportHoldOrder : SupportOrder { - public SupportHoldOrder(Power power, Unit unit, Unit target) + public SupportHoldOrder(string power, Unit unit, Unit target) : base (power, unit, target) { } diff --git a/MultiversalDiplomacy/Orders/SupportMoveOrder.cs b/MultiversalDiplomacy/Orders/SupportMoveOrder.cs index c367e9f..b9c83c2 100644 --- a/MultiversalDiplomacy/Orders/SupportMoveOrder.cs +++ b/MultiversalDiplomacy/Orders/SupportMoveOrder.cs @@ -27,7 +27,7 @@ public class SupportMoveOrder : SupportOrder /// public (Province province, Season season) Point => (this.Province, this.Season); - public SupportMoveOrder(Power power, Unit unit, Unit target, Season season, Location location) + public SupportMoveOrder(string power, Unit unit, Unit target, Season season, Location location) : base(power, unit, target) { this.Season = season; diff --git a/MultiversalDiplomacy/Orders/SupportOrder.cs b/MultiversalDiplomacy/Orders/SupportOrder.cs index db80b67..aa2e00c 100644 --- a/MultiversalDiplomacy/Orders/SupportOrder.cs +++ b/MultiversalDiplomacy/Orders/SupportOrder.cs @@ -12,7 +12,7 @@ public abstract class SupportOrder : UnitOrder /// public Unit Target { get; } - public SupportOrder(Power power, Unit unit, Unit target) + public SupportOrder(string power, Unit unit, Unit target) : base (power, unit) { this.Target = target; diff --git a/MultiversalDiplomacy/Orders/SustainOrder.cs b/MultiversalDiplomacy/Orders/SustainOrder.cs index e6954d3..f198da2 100644 --- a/MultiversalDiplomacy/Orders/SustainOrder.cs +++ b/MultiversalDiplomacy/Orders/SustainOrder.cs @@ -17,7 +17,7 @@ public class SustainOrder : Order /// public int Timeline { get; } - public SustainOrder(Power power, Location timeCenter, int timeline) + public SustainOrder(string power, Location timeCenter, int timeline) : base (power) { this.TimeCenter = timeCenter; diff --git a/MultiversalDiplomacy/Orders/UnitOrder.cs b/MultiversalDiplomacy/Orders/UnitOrder.cs index 74e03f1..69c65c7 100644 --- a/MultiversalDiplomacy/Orders/UnitOrder.cs +++ b/MultiversalDiplomacy/Orders/UnitOrder.cs @@ -22,7 +22,7 @@ public abstract class UnitOrder : Order /// public Unit Unit { get; } - public UnitOrder(Power power, Unit unit) : base(power) + public UnitOrder(string power, Unit unit) : base(power) { this.Unit = unit; } diff --git a/MultiversalDiplomacyTests/TestCaseBuilder.cs b/MultiversalDiplomacyTests/TestCaseBuilder.cs index 4915a3d..909d715 100644 --- a/MultiversalDiplomacyTests/TestCaseBuilder.cs +++ b/MultiversalDiplomacyTests/TestCaseBuilder.cs @@ -402,7 +402,7 @@ public class TestCaseBuilder public IOrderDefinedContext Holds() { - HoldOrder order = new HoldOrder(this.PowerContext.Power, this.Unit); + HoldOrder order = new HoldOrder(this.PowerContext.Power.Name, this.Unit); this.Builder.OrderList.Add(order); return new OrderDefinedContext(this, order); } @@ -417,7 +417,7 @@ public class TestCaseBuilder : this.Builder.World.Map.GetWater(provinceName, coast); Season destSeason = season ?? this.SeasonContext.Season; MoveOrder moveOrder = new MoveOrder( - this.PowerContext.Power, + this.PowerContext.Power.Name, this.Unit, destSeason.Key, destination); @@ -494,7 +494,7 @@ public class TestCaseBuilder { Location location = this.Builder.World.Map.GetLand(provinceName); ConvoyOrder order = new ConvoyOrder( - this.PowerContext.Power, + this.PowerContext.Power.Name, this.UnitContext.Unit, this.Target, this.SeasonContext.Season, @@ -569,7 +569,7 @@ public class TestCaseBuilder public IOrderDefinedContext Hold() { SupportHoldOrder order = new SupportHoldOrder( - this.PowerContext.Power, + this.PowerContext.Power.Name, this.UnitContext.Unit, this.Target); this.Builder.OrderList.Add(order); @@ -586,7 +586,7 @@ public class TestCaseBuilder : this.Builder.World.Map.GetWater(provinceName, coast); Season targetDestSeason = season ?? this.Target.Season; SupportMoveOrder order = new SupportMoveOrder( - this.PowerContext.Power, + this.PowerContext.Power.Name, this.UnitContext.Unit, this.Target, targetDestSeason, diff --git a/MultiversalDiplomacyTests/TestCaseBuilderTest.cs b/MultiversalDiplomacyTests/TestCaseBuilderTest.cs index 4390bd8..720e660 100644 --- a/MultiversalDiplomacyTests/TestCaseBuilderTest.cs +++ b/MultiversalDiplomacyTests/TestCaseBuilderTest.cs @@ -124,7 +124,7 @@ class TestCaseBuilderTest Assert.That(orderMun, Is.Not.Null, "Expected order reference"); Assert.That( orderMun.Order.Power, - Is.EqualTo(setup.World.Map.GetPower("Germany")), + Is.EqualTo("Germany"), "Wrong power"); Assert.That( orderMun.Order.Unit.Location,