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); }