diff --git a/tests/MUnique.OpenMU.Tests/GameMapTest.cs b/tests/MUnique.OpenMU.Tests/GameMapTest.cs
index d1a5ac6..2cf21e2 100644
--- a/tests/MUnique.OpenMU.Tests/GameMapTest.cs
+++ b/tests/MUnique.OpenMU.Tests/GameMapTest.cs
@@ -165,6 +165,26 @@ public class GameMapTest
Assert.That(player2.Object.Observers.Count, Is.EqualTo(0));
}
+ ///
+ /// ADAMU-CUSTOM: remote-NPC — GetNpcByNumber, definition number ile spawn olmuş NPC'yi bulur;
+ /// bilinmeyen number için null döner. (upstream merge bu özelliği bozarsa bu test kırılır.)
+ ///
+ [Test]
+ public async ValueTask GetNpcByNumberFindsSpawnedNpcAsync()
+ {
+ var map = new GameMap(new GameMapDefinition(), TimeSpan.FromSeconds(60), ChunkSize);
+ var definition = new MUnique.OpenMU.DataModel.Configuration.MonsterDefinition { Number = 540 };
+ var spawnArea = new MUnique.OpenMU.DataModel.Configuration.MonsterSpawnArea { MonsterDefinition = definition };
+ var npc = new MUnique.OpenMU.GameLogic.NPC.NonPlayerCharacter(spawnArea, definition, map)
+ {
+ Position = new Point(100, 100),
+ };
+ await map.AddAsync(npc).ConfigureAwait(false);
+
+ Assert.That(map.GetNpcByNumber(540), Is.SameAs(npc));
+ Assert.That(map.GetNpcByNumber(999), Is.Null);
+ }
+
private Mock GetPlayer()
{
var player = new Mock();