コード例 #1
0
        public void TestGenerateFactoryFields()
        {
            NetworkPacketFactoryCodeGenerater gen = new NetworkPacketFactoryCodeGenerater(
                System.Windows.Forms.Application.StartupPath + "\\Test\\Networking\\TestFactoriesGeneratedFields.dll");

            INetworkPacketFactory <PacketFieldsTest> factory = gen.GetFactory <PacketFieldsTest>();

            gen.BuildFactoriesAssembly();

            PacketFieldsTest p = new PacketFieldsTest();

            p.Text       = "Hello";
            p.Getal      = 38;
            p.Boolean    = true;
            p.GetalFloat = 456f;
            p.Buffer     = new byte[] { 1, 1, 2, 3, 5, 7, 13, 21 };
            p.Guid       = Guid.NewGuid();
            p.Enum       = ByteEnum.Second;
            p.Array      = new int[] { 1, 3, 6, 10, 15, 21 };

            MemoryStream memStrm = new MemoryStream();
            BinaryWriter bw      = new BinaryWriter(memStrm);
            BinaryReader br      = new BinaryReader(memStrm);

            factory.ToStream(bw, p);

            memStrm.Position = 0;

            PacketFieldsTest pCheck = factory.FromStream(br);

            Assert.AreEqual(pCheck, p);
        }
コード例 #2
0
        public void TestGenerateMultiple()
        {
            NetworkPacketFactoryCodeGenerater gen = new NetworkPacketFactoryCodeGenerater(
                Application.StartupPath + "\\Test\\Networking\\TestGenerateMultiple.dll");

            INetworkPacketFactory <PacketFieldsTest>     factory1 = gen.GetFactory <PacketFieldsTest>();
            INetworkPacketFactory <PacketPropertiesTest> factory2 = gen.GetFactory <PacketPropertiesTest>();

            gen.BuildFactoriesAssembly();

            PacketFieldsTest p1 = new PacketFieldsTest();

            p1.Text  = "Hello";
            p1.Getal = 38;

            MemoryStream memStrm; BinaryWriter bw; BinaryReader br;

            memStrm = new MemoryStream();
            bw      = new BinaryWriter(memStrm);
            br      = new BinaryReader(memStrm);
            factory1.ToStream(bw, p1);

            memStrm.Position = 0;

            PacketFieldsTest pCheck1 = factory1.FromStream(br);

            Assert.AreEqual(pCheck1, p1);


            PacketPropertiesTest p2 = new PacketPropertiesTest();

            p2.Text  = "Hello";
            p2.Getal = 38;
            memStrm  = new MemoryStream();
            bw       = new BinaryWriter(memStrm);
            br       = new BinaryReader(memStrm);
            factory2.ToStream(bw, p2);

            memStrm.Position = 0;

            PacketPropertiesTest pCheck2 = factory2.FromStream(br);

            Assert.AreEqual(pCheck2, p2);
        }
コード例 #3
0
            public bool Equals(PacketFieldsTest other)
            {
                if (ReferenceEquals(null, other))
                {
                    return(false);
                }
                if (ReferenceEquals(this, other))
                {
                    return(true);
                }



                return(other.Getal == Getal &&
                       Equals(other.Text, Text) &&
                       other.Boolean.Equals(Boolean) &&
                       other.GetalFloat.Equals(GetalFloat) &&
                       ((Buffer == other.Buffer) || Buffer.SequenceEqual(other.Buffer)) &&
                       Equals(other.Enum, Enum) &&
                       ((Array == other.Array) || other.Array.SequenceEqual(Array)) &&
                       Guid.Equals(other.Guid));
            }