コード例 #1
0
        public void RegisterPacketsThrowExceptionOnInvalidTest()
        {
            ServerPacketFactory_Accessor target = new ServerPacketFactory_Accessor(version);
            IEnumerable <Type>           types  = new List <Type> {
                typeof(UnAdornedServerPacket), typeof(ServerPacketDupe2)
            };

            try
            {
                target.RegisterPackets(types);
            }
            catch (PacketRegistrationException ex)
            {
                Assert.IsTrue(ex is PacketRegistrationExceptions);

                PacketRegistrationExceptions caught = (PacketRegistrationExceptions)ex;

                Assert.AreEqual(1, caught.Exceptions.Count());
                Assert.IsTrue(caught.Exceptions.FirstOrDefault() is InvalidPacketException);

                InvalidPacketException inner = (InvalidPacketException)caught.Exceptions.FirstOrDefault();

                Assert.AreEqual(typeof(UnAdornedServerPacket), inner.FailedType);

                return;
            }
            Assert.Fail("Expected exception not thrown.");
        }
コード例 #2
0
        public void RegisterPacketsByVersionTest()
        {
            ServerPacketFactory_Accessor targetV0_0 = new ServerPacketFactory_Accessor(ClientVersion.vMIN);
            ServerPacketFactory_Accessor targetV1_0 = new ServerPacketFactory_Accessor(ClientVersion.Instantiate("1.0.0.0"));
            ServerPacketFactory_Accessor targetV1_5 = new ServerPacketFactory_Accessor(ClientVersion.Instantiate("1.5.0.0"));
            ServerPacketFactory_Accessor targetV2_0 = new ServerPacketFactory_Accessor(ClientVersion.Instantiate("2.0.0.0"));
            ServerPacketFactory_Accessor targetV3_0 = new ServerPacketFactory_Accessor(ClientVersion.Instantiate("3.0.0.0"));

            IEnumerable <Type> types = new List <Type> {
                typeof(ServerPacketVersion0), typeof(ServerPacketVersion1), typeof(ServerPacketVersion2)
            };

            targetV0_0.RegisterPackets(types);
            targetV1_0.RegisterPackets(types);
            targetV1_5.RegisterPackets(types);
            targetV2_0.RegisterPackets(types);
            targetV3_0.RegisterPackets(types);

            int expectedCount = 1;

            Assert.AreEqual(expectedCount, targetV0_0.RegisteredPacketCount);
            Assert.AreEqual(expectedCount, targetV1_0.RegisteredPacketCount);
            Assert.AreEqual(expectedCount, targetV1_5.RegisteredPacketCount);
            Assert.AreEqual(expectedCount, targetV2_0.RegisteredPacketCount);
            Assert.AreEqual(expectedCount, targetV3_0.RegisteredPacketCount);

            Assert.AreEqual(typeof(ServerPacketVersion0), targetV0_0.GetInfoForRegisteredPacketID(PacketIDForVersioningTest).Type);
            Assert.AreEqual(typeof(ServerPacketVersion1), targetV1_0.GetInfoForRegisteredPacketID(PacketIDForVersioningTest).Type);
            Assert.AreEqual(typeof(ServerPacketVersion1), targetV1_5.GetInfoForRegisteredPacketID(PacketIDForVersioningTest).Type);
            Assert.AreEqual(typeof(ServerPacketVersion2), targetV2_0.GetInfoForRegisteredPacketID(PacketIDForVersioningTest).Type);
            Assert.AreEqual(typeof(ServerPacketVersion2), targetV3_0.GetInfoForRegisteredPacketID(PacketIDForVersioningTest).Type);
        }
コード例 #3
0
        public void RegisterPacketWithoutFactoryTest()
        {
            ServerPacketFactory_Accessor target = new ServerPacketFactory_Accessor(version);

            target.Register <RegisterablePacketWithoutInstanciator>();

            ServerPacketId id   = ServerPacket.GetPacketID <RegisterablePacketWithoutInstanciator>();
            var            info = target.GetInfoForRegisteredPacketID(id);

            Assert.IsNull(info.Factory);
        }
コード例 #4
0
        public void RegisterBadPacketTest()
        {
            ServerPacketFactory_Accessor target = new ServerPacketFactory_Accessor(version);

            target.Register <UnRegisterablePacketWithBadInstanciator>();
        }