From 807533d26b1eb838419b057f18a3979f8a42e291 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Fri, 16 Oct 2026 20:58:26 +0200 Subject: [PATCH] FlightTests: the combat-exit test removes every listing of the engaged track The grudge lists the track in VisibleEnemies a second time (the hostility refresh adds it again), so a single Remove left it visible. Co-Authored-By: Claude Opus 5.5 --- tests/Aetheria.Shared.Tests/FlightTests.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/Aetheria.Shared.Tests/FlightTests.cs b/tests/Aetheria.Shared.Tests/FlightTests.cs index 211e8a1f7..31b057535 100644 --- a/tests/Aetheria.Shared.Tests/FlightTests.cs +++ b/tests/Aetheria.Shared.Tests/FlightTests.cs @@ -654,9 +654,10 @@ public sealed class FlightTests : IDisposable Assert.Same(hot, member.Target.Value.Entity); UpdateUntil(minion, () => CurrentState(minion) is CombatState); - member.VisibleEnemies.Remove(hot); + // The grudge listed it a second time (the hostility refresh adds it again), so every listing goes. + while (member.VisibleEnemies.Remove(hot)) { } Tick(.1f); - Assert.True(member.Target.Value.IsNone, "Target is hot " + ReferenceEquals(member.Target.Value.Entity, hot) + ", held " + _zone.Flights.Single().PhaseOf(held) + ", hot " + _zone.Flights.Single().PhaseOf(hot) + ", visible " + member.VisibleEnemies.Count); + Assert.True(member.Target.Value.IsNone); Assert.IsType(minion.Task); UpdateUntil(minion, () => !(CurrentState(minion) is CombatState)); UpdateUntil(minion, () => CurrentState(minion) is FollowState);