test(ADAMU-CUSTOM): regression test for GameMap.GetNpcByNumber (remote-NPC)

This commit is contained in:
Acentech Dev
2026-07-14 21:36:34 +03:00
parent 03521c3ef5
commit 2ced76b303

View File

@@ -165,6 +165,26 @@ public class GameMapTest
Assert.That(player2.Object.Observers.Count, Is.EqualTo(0)); Assert.That(player2.Object.Observers.Count, Is.EqualTo(0));
} }
/// <summary>
/// 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.)
/// </summary>
[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<ITestPlayer> GetPlayer() private Mock<ITestPlayer> GetPlayer()
{ {
var player = new Mock<ITestPlayer>(); var player = new Mock<ITestPlayer>();