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); }
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); }
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); }