public void TestDisplayHelpTopic(int topic, bool display) { var expected = new DisplayHelpTopic(topic, display).Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendDisplayHelpTopic(topic, display); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestSpecialAbility(int abilityId, bool active) { var expected = new ToggleSpecialAbility(abilityId, active).Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendToggleSpecialAbility(abilityId, active); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestSendChatMessage(string lang, int number, string param1, string param2) { var expected = new ChatMessagePacket(lang, number, param1, param2).Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendChatMessage(lang, number, param1, param2); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestDesignStateGeneral(uint serial, int revision) { var expected = new DesignStateGeneral((Serial)serial, revision).Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendDesignStateGeneral((Serial)serial, revision); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestEndHouseCustomization(uint serial) { var expected = new EndHouseCustomization((Serial)serial).Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendEndHouseCustomization((Serial)serial); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestClearAbility() { var expected = new ClearWeaponAbility().Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendClearWeaponAbility(); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestSendStatueAnimation(uint s, int status, int anim, int frame) { var expected = new UpdateStatueAnimation((Serial)s, status, anim, frame).Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendStatueAnimation((Serial)s, status, anim, frame); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestMoveBoatHS(Direction d, int speed, int xOffset, int yOffset) { var item1 = new Item((Serial)0x1000) { ItemID = 0x13B9, Location = new Point3D(11, 21, 16), Map = Map.Felucca, Visible = true }; var item2 = new Item((Serial)0x2000) { ItemID = 0x13B9, Location = new Point3D(100, 200, 16), Map = Map.Felucca, Visible = true }; var beholder = new Mock <Mobile>((Serial)0x100); beholder.Object.DefaultMobileInit(); beholder.Object.Location = new Point3D(10, 20, 15); beholder.Object.Map = Map.Felucca; beholder.Setup(m => m.CanSee(It.Is <IEntity>(e => e == beholder.Object))).Returns(true); beholder.Setup(m => m.CanSee(It.Is <IEntity>(e => e == item1))).Returns(true); beholder.Setup(m => m.CanSee(It.Is <IEntity>(e => e == item2))).Returns(false); var list = new List <IEntity> { item1, beholder.Object }; var notContained = new List <IEntity> { item2 }; var boat = new TestBoat((Serial)0x3000, list, notContained) { Location = new Point3D(10, 20, 15), Facing = Direction.Right, Map = Map.Felucca }; beholder.Setup(m => m.CanSee(It.Is <IEntity>(e => e == boat))).Returns(true); var ns = PacketTestUtilities.CreateTestNetState(); ns.ProtocolChanges = ProtocolChanges.HighSeas; var expected = new MoveBoatHS(beholder.Object, boat, d, speed, list, xOffset, yOffset).Compile(); ns.SendMoveBoatHS(beholder.Object, boat, d, speed, boat.GetMovingEntities(true), xOffset, yOffset); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestRemoveBuffIcon() { Serial m = 0x1024; var buffIcon = BuffIcon.Disguised; var expected = new RemoveBuffPacket(m, buffIcon).Compile(); using var ns = PacketTestUtilities.CreateTestNetState(); BuffInfo.SendRemoveBuffPacket(ns, m, buffIcon); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestPartyInvitation() { Serial m = 0x1024u; var expected = new PartyInvitation(m).Compile(); using var ns = PacketTestUtilities.CreateTestNetState(); ns.SendPartyInvitation(m); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestMahjongJoinGame() { Serial game = 0x1024u; var expected = new MahjongJoinGame(game).Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendMahjongJoinGame(game); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestPartyEmptyList() { Serial m = (Serial)0x1024u; var expected = new PartyEmptyList(m).Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendPartyRemoveMember(m); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestAddBuffIcon(uint mob, BuffIcon iconID, int titleCliloc, int secondaryCliloc, string args, int ts) { var timeSpan = new TimeSpan(ts); var expected = new AddBuffPacket( mob, iconID, titleCliloc, secondaryCliloc, args, timeSpan ).Compile(); using var ns = PacketTestUtilities.CreateTestNetState(); BuffInfo.SendAddBuffPacket(ns, mob, iconID, titleCliloc, secondaryCliloc, args, timeSpan); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestSendMapCommand(int command, int number, int x, int y) { var mapItem = new MapItem(Map.Trammel); var expected = new MapCommand(mapItem, command, number, x, y).Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendMapCommand(mapItem, command, x, y, number > 0); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestPartyTextMessage(bool toAll) { Serial serial = 0x1024u; var text = "[Party] Stuff Happens"; var expected = new PartyTextMessage(toAll, serial, text).Compile(); using var ns = PacketTestUtilities.CreateTestNetState(); ns.SendPartyTextMessage(serial, text, toAll); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestSendRemoveVirtualHair() { var m = new Mobile(0x1024u); m.DefaultMobileInit(); var expected = new RemoveHair(m).Compile(); using var ns = PacketTestUtilities.CreateTestNetState(); ns.SendRemoveHairPacket(HairInfo.FakeSerial(m.Serial)); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestSendVirtualHairUpdate() { var m = new Mobile(0x1024u); m.DefaultMobileInit(); var expected = new HairEquipUpdate(m).Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendHairEquipUpdatePacket(m, HairInfo.FakeSerial(m.Serial), Layer.Hair); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestMahjongGeneralInfo(bool showScores, bool spectatorVision) { var game = new MahjongGame { ShowScores = showScores, SpectatorVision = spectatorVision }; var expected = new MahjongGeneralInfo(game).Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendMahjongGeneralInfo(game); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestSendMapDetails(ProtocolChanges changes) { var mapItem = new MapItem(Map.Trammel); var ns = PacketTestUtilities.CreateTestNetState(); ns.ProtocolChanges = changes; var expected = (ns.NewCharacterList ? (Packet) new MapDetailsNew(mapItem) : new MapDetails(mapItem)).Compile(); ns.SendMapDetails(mapItem); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestSendBBDisplayBoard(string boardName) { var bb = new TestBulletinBoard(0x234) { BoardName = boardName }; var expected = new BBDisplayBoard(bb).Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendBBDisplayBoard(bb); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestRaceChanger(bool female, int raceId) { var raceMock = new Mock <Race>( raceId, 0, "Test Race", "Test Races", 0x1, 0x2, 0x3, 0x4, Expansion.None ); var race = raceMock.Object; var expected = new RaceChanger(female, race).Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendRaceChanger(female, race); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
// Regression test used to identify an issue with AddItem compilation of the packet public void TestTrackingGump(ProtocolChanges changes) { var pm = new PlayerMobile(); pm.Skills.Tracking.BaseFixedPoint = 1000; var g = new TrackWhatGump(pm); var ns = PacketTestUtilities.CreateTestNetState(); ns.ProtocolChanges = changes; var expected = g.Compile(ns).Compile(); ns.SendDisplayGump(g, out var switches, out var entries); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestBookContent() { var m = new Mobile(0x1); m.DefaultMobileInit(); Serial serial = 0x1001; var book = new TestBook(serial) { Author = "Some Author", Title = "Some Title" }; book.Pages[0].Lines = new[] { "Some books start with actual content", "This book does not have any actual content", "Instead it has several pages of useless text" }; book.Pages[1].Lines = new[] { "Another page exists but this page:", "Has lots of: 🅵🅰🅽🅲🆈 🆃🅴🆇🆃", "And just more: 🅵🅰🅽🅲🆈 🆃🅴🆇🆃", "So everyone can read: 🅵🅰🅽🅲🆈 🆃🅴🆇🆃" }; book.Pages[2].Lines = new[] { "The end" }; var expected = new BookPageDetails(book).Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendBookContent(book); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestBookCover(string author, string title) { var m = new Mobile(0x1); m.DefaultMobileInit(); var book = new BlueBook { Author = author, Title = title }; var expected = new BookHeader(m, book).Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendBookCover(m, book); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestCorpseEquipPacket() { var m = new Mobile(0x1); m.DefaultMobileInit(); var weapon = new VikingSword(); m.EquipItem(weapon); var c = new Corpse(m, m.Items); var expected = new CorpseEquip(m, c).Compile(); using var ns = PacketTestUtilities.CreateTestNetState(); ns.SendCorpseEquip(m, c); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestMahjongTilesInfo(bool spectatorVision) { var m = new Mobile(0x1); m.DefaultMobileInit(); var game = new MahjongGame { SpectatorVision = spectatorVision }; game.Players.Join(m); var expected = new MahjongTilesInfo(game, m).Compile(); var ns = PacketTestUtilities.CreateTestNetState(); ns.SendMahjongTilesInfo(game, m); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestCorpseContainerPacket(ProtocolChanges changes) { var m = new Mobile(0x1); m.DefaultMobileInit(); var weapon = new VikingSword(); m.EquipItem(weapon); var c = new Corpse(m, m.Items); using var ns = PacketTestUtilities.CreateTestNetState(); ns.ProtocolChanges = changes; var expected = (ns.ContainerGridLines ? (Packet) new CorpseContent6017(m, c) : new CorpseContent(m, c)).Compile(); ns.SendCorpseContent(m, c); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }
public void TestPartyMemberList() { var leader = new Mobile(0x1024u); leader.DefaultMobileInit(); var member = new Mobile(0x2048u); member.DefaultMobileInit(); var p = new Party(leader); p.Add(member); var expected = new PartyMemberList(p).Compile(); using var ns = PacketTestUtilities.CreateTestNetState(); ns.SendPartyMemberList(p); var result = ns.SendPipe.Reader.TryRead(); AssertThat.Equal(result.Buffer[0].AsSpan(0), expected); }