From d577c64d8f542c8b6ff00a520194cd34bb90840b Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sat, 10 Oct 2026 06:37:38 +0200 Subject: [PATCH] ConsumablesFirstSetTests: fit the first radiator pairing that the hull takes Co-Authored-By: Claude Opus 5.5 --- .../ConsumablesFirstSetTests.cs | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/tests/Aetheria.Shared.Tests/ConsumablesFirstSetTests.cs b/tests/Aetheria.Shared.Tests/ConsumablesFirstSetTests.cs index 5e85c4b2b..ee50a6f88 100644 --- a/tests/Aetheria.Shared.Tests/ConsumablesFirstSetTests.cs +++ b/tests/Aetheria.Shared.Tests/ConsumablesFirstSetTests.cs @@ -126,14 +126,19 @@ public sealed class ConsumablesFirstSetTests Ship = RestoredHullsTests.BuildThrustedShip(Cache, "Djinni"); Zone = Ship.Zone; var hull = Cache.GetByName("Djinni"); - var hardpoint = hull.Hardpoints.First(h => h.Type == HardpointType.Radiator); - var design = Cache.GetAll().First(g => hardpoint.IsFilledBy(g) && g.Behaviors.OfType().Any()); - var item = new EquippableItem - { - Data = Cache.RefOf(design), Durability = design.Durability, - Lot = Ship.ItemManager.Lots.Add(new Lot { Design = Cache.RefOf(design), Origin = new Attributed(), Quality = .5f, Roles = new List() }) - }; - Assert.True(Ship.TryEquip(item, hardpoint.Position)); + // The first radiator hardpoint that takes a radiator design; a hull has several and not every pairing fits. + var fitted = false; + foreach (var hardpoint in hull.Hardpoints.Where(h => h.Type == HardpointType.Radiator).TakeWhile(_ => !fitted)) + foreach (var design in Cache.GetAll().Where(g => hardpoint.IsFilledBy(g) && g.Behaviors.OfType().Any())) + { + var item = new EquippableItem + { + Data = Cache.RefOf(design), Durability = design.Durability, + Lot = Ship.ItemManager.Lots.Add(new Lot { Design = Cache.RefOf(design), Origin = new Attributed(), Quality = .5f, Roles = new List() }) + }; + if (fitted = Ship.TryEquip(item, hardpoint.Position)) break; + } + Assert.True(fitted, "no radiator fits the Djinni"); Zone.Update(0f); }