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