public void TestArrayAssignArrayItem() { var sock2 = new NetServer.Socket(); sock2.pid = 2; var p2 = new NetServer.Player(); p2.netId = 11; p2.InitName(""); p2.InitSocket(sock2); p2.InitPosition(new NetServer.Position(0, 0, 0, 0, 0, 0)); p2.InitInventory(new NetServer.Inventory(new NetServer.Item[] { new NetServer.Item(0, 0, 1), new NetServer.Item(0, 0, 1) }, 111)); NetServer.Main.players.Add(sock2.pid, p2); p2.Write(sock2, sock2.tickStream); var netreader = new NetClient.NetReader(); sock2.tickStream.BaseStream.Position = 0; netreader.ReadTick(new BinaryReader(sock2.tickStream.BaseStream)); AssertPlayerEqual(p2, netreader.Get <NetClient.Player>(p2.netId), false, false); p2.GetInventory().GetItems()[0] = new NetServer.Item(1, 1, 1); sock2.tickStream.BaseStream.Position = 0; netreader.ReadTick(new BinaryReader(sock2.tickStream.BaseStream)); AssertPlayerEqual(p2, netreader.Get <NetClient.Player>(p2.netId), false, false); }
public void AssertPlayerEqual(NetServer.Player expected, NetClient.Player actual, bool ignoreInventory = true, bool expectNullInventory = false) { Assert.AreEqual(expected.GetName(), actual.GetName()); if (expected.GetPosition() == null) { Assert.IsNull(actual.GetPosition()); } else { Assert.IsNotNull(actual.GetPosition()); Assert.AreEqual(expected.GetPosition().GetX(), actual.GetPosition().GetX()); Assert.AreEqual(expected.GetPosition().GetY(), actual.GetPosition().GetY()); Assert.AreEqual(expected.GetPosition().GetZ(), actual.GetPosition().GetZ()); } Assert.AreEqual(expected.GetHealth(), actual.GetHealth()); Assert.AreEqual(expected.GetMaxHealth(), actual.GetMaxHealth()); Assert.AreEqual(expected.GetMana(), actual.GetMana()); Assert.AreEqual(expected.GetMaxMana(), actual.GetMaxMana()); Assert.AreEqual(expected.GetName(), actual.GetName()); Assert.AreEqual(expected.GetName(), actual.GetName()); if (!ignoreInventory) { if (expectNullInventory) { Assert.IsNull(actual.GetInventory()); } else { if (expected.GetInventory() == null) { Assert.IsNull(actual.GetInventory()); } else { Assert.IsNotNull(actual.GetInventory()); Assert.AreEqual(expected.GetInventory().GetCoins(), actual.GetInventory().GetCoins()); } } } }