예제 #1
0
        public void ReadWriteTypeTestComplex()
        {
            DomType input = new DomType();

            input.Name      = "Test";
            input.ClassType = ClassType.Struct;
            input.BaseType  = new DomReturnType("BaseClass");
            input.AddInterfaceImplementation(new DomReturnType("Interface1"));
            input.AddInterfaceImplementation(new DomReturnType("Interface2"));

            input.Add(new DomMethod("TestMethod", Modifiers.None, MethodModifier.None, DomLocation.Empty, DomRegion.Empty));
            input.Add(new DomMethod(".ctor", Modifiers.None, MethodModifier.IsConstructor, DomLocation.Empty, DomRegion.Empty));

            input.Add(new DomField("TestField", Modifiers.None, DomLocation.Empty, DomReturnType.Void));
            input.Add(new DomProperty("TestProperty", Modifiers.None, DomLocation.Empty, DomRegion.Empty, DomReturnType.Void));
            input.Add(new DomEvent("TestEvent", Modifiers.None, DomLocation.Empty, DomReturnType.Void));
            MemoryStream ms     = new MemoryStream();
            BinaryWriter writer = new BinaryWriter(ms);

            DomPersistence.Write(writer, DefaultNameEncoder, input);
            byte[] bytes = ms.ToArray();

            DomType result = DomPersistence.ReadType(CreateReader(bytes), DefaultNameDecoder, null);

            Assert.AreEqual("Test", result.Name);
            Assert.AreEqual(ClassType.Struct, result.ClassType);
            Assert.AreEqual("BaseClass", result.BaseType.Name);
            Assert.AreEqual(1, result.MethodCount);
            Assert.AreEqual(1, result.ConstructorCount);
            Assert.AreEqual(1, result.FieldCount);
            Assert.AreEqual(1, result.PropertyCount);
            Assert.AreEqual(1, result.EventCount);
        }
예제 #2
0
        public void ReadWriteDelegateTest()
        {
            DomType input = DomType.CreateDelegate(null, "TestDelegate", new DomLocation(10, 10), DomReturnType.Void, new List <IParameter> ());

            MemoryStream ms     = new MemoryStream();
            BinaryWriter writer = new BinaryWriter(ms);

            DomPersistence.Write(writer, DefaultNameEncoder, input);
            byte[] bytes = ms.ToArray();

            DomType result = DomPersistence.ReadType(CreateReader(bytes), DefaultNameDecoder, null);

            Assert.AreEqual("TestDelegate", result.Name);
            Assert.AreEqual(ClassType.Delegate, result.ClassType);
        }
예제 #3
0
        public void ReadWriteTypeTest()
        {
            DomType input = new DomType();

            input.Name      = "Test";
            input.ClassType = ClassType.Struct;
            input.BaseType  = new DomReturnType("BaseClass");

            MemoryStream ms     = new MemoryStream();
            BinaryWriter writer = new BinaryWriter(ms);

            DomPersistence.Write(writer, DefaultNameEncoder, input);
            byte[] bytes = ms.ToArray();

            DomType result = DomPersistence.ReadType(CreateReader(bytes), DefaultNameDecoder, null);

            Assert.AreEqual("Test", result.Name);
            Assert.AreEqual(ClassType.Struct, result.ClassType);
            Assert.AreEqual("BaseClass", result.BaseType.Name);
        }