diff --git a/MultiversalDiplomacy/Model/Unit.cs b/MultiversalDiplomacy/Model/Unit.cs index 305d39f..a9cba9f 100644 --- a/MultiversalDiplomacy/Model/Unit.cs +++ b/MultiversalDiplomacy/Model/Unit.cs @@ -7,11 +7,6 @@ namespace MultiversalDiplomacy.Model; /// public class Unit { - /// - /// The previous iteration of a unit. This is null if the unit was just built. - /// - public string? Past { get; } - /// /// The location on the map where the unit is. /// @@ -38,9 +33,8 @@ public class Unit [JsonIgnore] public string Key => $"{Type.ToShort()} {Season.Timeline}-{Location}@{Season.Turn}"; - public Unit(string? past, string location, Season season, string power, UnitType type) + public Unit(string location, Season season, string power, UnitType type) { - this.Past = past; this.Location = location; this.Season = season; this.Power = power; @@ -55,13 +49,13 @@ public class Unit /// method after accepting a build order. /// public static Unit Build(string location, Season season, string power, UnitType type) - => new(past: null, location, season, power, type); + => new(location, season, power, type); /// /// Advance this unit's timeline to a new location and season. /// public Unit Next(string location, Season season) - => new(past: this.Key, location, season, this.Power, this.Type); + => new(location, season, this.Power, this.Type); public Location GetLocation(World world) => world.Map.GetLocation(Location); diff --git a/MultiversalDiplomacyTests/MDATC_A.cs b/MultiversalDiplomacyTests/MDATC_A.cs index b3de1c8..fcb41cb 100644 --- a/MultiversalDiplomacyTests/MDATC_A.cs +++ b/MultiversalDiplomacyTests/MDATC_A.cs @@ -47,12 +47,9 @@ public class TimeTravelTest Unit originalUnit = world.GetUnitAt("Mun", s0); Unit aMun0 = world.GetUnitAt("Mun", s1); Unit aTyr = world.GetUnitAt("Tyr", fork); - Assert.That(aTyr.Past, Is.EqualTo(mun1.Order.Unit.Key)); - Assert.That(world.GetUnitByKey(aTyr.Past!).Past, Is.EqualTo(mun0.Order.Unit.Key)); // Confirm that there is a unit in Mun b1 originating from Mun a0 Unit aMun1 = world.GetUnitAt("Mun", fork); - Assert.That(aMun1.Past, Is.EqualTo(originalUnit.Key)); } [Test] @@ -94,10 +91,6 @@ public class TimeTravelTest World world = setup.UpdateWorld(); Season fork = new("b1"); Unit tyr1 = world.GetUnitAt("Tyr", fork); - Assert.That( - tyr1.Past, - Is.EqualTo(mun0.Order.Unit.Key), - "Expected A Mun a0 to advance to Tyr b1"); Assert.That( world.RetreatingUnits.Count, Is.EqualTo(1), diff --git a/MultiversalDiplomacyTests/MovementAdjudicatorTest.cs b/MultiversalDiplomacyTests/MovementAdjudicatorTest.cs index 8b2be91..50e51e9 100644 --- a/MultiversalDiplomacyTests/MovementAdjudicatorTest.cs +++ b/MultiversalDiplomacyTests/MovementAdjudicatorTest.cs @@ -171,7 +171,7 @@ public class MovementAdjudicatorTest // Confirm the unit was created Assert.That(updated.Units.Count, Is.EqualTo(2)); - Unit second = updated.Units.Single(u => u.Past != null); + Unit second = updated.Units.OrderBy(u => -u.Season.Turn).First(); Assert.That(second.Location, Is.EqualTo(mun.Order.Unit.Location)); Assert.That(second.Season.Timeline, Is.EqualTo(mun.Order.Unit.Season.Timeline)); @@ -208,7 +208,6 @@ public class MovementAdjudicatorTest Unit u2 = updated.GetUnitAt("Mun", s2); Assert.That(updated.Units.Count, Is.EqualTo(2)); Assert.That(u2.Key, Is.Not.EqualTo(mun1.Order.Unit.Key)); - Assert.That(u2.Past, Is.EqualTo(mun1.Order.Unit.Key)); Assert.That(u2.Season, Is.EqualTo(s2)); setup[("a", 1)] @@ -228,7 +227,6 @@ public class MovementAdjudicatorTest updated = setup.UpdateWorld(); Season s3 = new(s2.Timeline, s2.Turn + 1); Unit u3 = updated.GetUnitAt("Mun", s3); - Assert.That(u3.Past, Is.EqualTo(mun2.Order.Unit.Key)); } [Test] @@ -258,7 +256,6 @@ public class MovementAdjudicatorTest Unit u2 = updated.GetUnitAt("Tyr", s2); Assert.That(updated.Units.Count, Is.EqualTo(2)); Assert.That(u2.Key, Is.Not.EqualTo(mun1.Order.Unit.Key)); - Assert.That(u2.Past, Is.EqualTo(mun1.Order.Unit.Key)); Assert.That(u2.Season, Is.EqualTo(s2)); setup[("a", 1)] @@ -278,6 +275,5 @@ public class MovementAdjudicatorTest updated = setup.UpdateWorld(); Season s3 = new(s2.Timeline, s2.Turn + 1); Unit u3 = updated.GetUnitAt("Mun", s3); - Assert.That(u3.Past, Is.EqualTo(u2.Key)); } } diff --git a/MultiversalDiplomacyTests/SerializationTest.cs b/MultiversalDiplomacyTests/SerializationTest.cs index 91ca56e..34a37d2 100644 --- a/MultiversalDiplomacyTests/SerializationTest.cs +++ b/MultiversalDiplomacyTests/SerializationTest.cs @@ -133,10 +133,6 @@ public class SerializationTest World world = setup.UpdateWorld(); Season fork = new("b1"); Unit tyr1 = world.GetUnitAt("Tyr", fork); - Assert.That( - tyr1.Past, - Is.EqualTo(mun0.Order.Unit.Key), - "Expected A Mun a0 to advance to Tyr b1"); Assert.That( world.RetreatingUnits.Count, Is.EqualTo(1), diff --git a/MultiversalDiplomacyTests/UnitTests.cs b/MultiversalDiplomacyTests/UnitTests.cs index f10dac6..5293be4 100644 --- a/MultiversalDiplomacyTests/UnitTests.cs +++ b/MultiversalDiplomacyTests/UnitTests.cs @@ -22,10 +22,6 @@ public class UnitTests _ = world.WithNewSeason(a1, out Season a2); Unit u3 = u2.Next(Tyr.Key, a2); - Assert.That(u3.Past, Is.EqualTo(u2.Key), "Missing unit past"); - Assert.That(u2.Past, Is.EqualTo(u1.Key), "Missing unit past"); - Assert.That(u1.Past, Is.Null, "Unexpected unit past"); - Assert.That(u1.Season, Is.EqualTo(a0), "Unexpected unit season"); Assert.That(u2.Season, Is.EqualTo(a1), "Unexpected unit season"); Assert.That(u3.Season, Is.EqualTo(a2), "Unexpected unit season");