public void VerifyAddAttribute() { NamespaceDeclaration nsdecl = new NamespaceDeclaration("Test"); ClassDeclaration cdecl = nsdecl.AddClass("Customer"); cdecl.AddAttribute(typeof(SerializableAttribute)); ClassDeclaration attrib1 = nsdecl.AddClass("SuperAttribute").InheritsFrom("System.Attribute"); cdecl.AddAttribute(new CodeDomTypeReference("Test.SuperAttribute")); ClassDeclaration attrib2 = nsdecl.AddClass("Crattribute").InheritsFrom("System.Attribute"); cdecl.AddAttribute("Test.Crattribute"); using (DomTester dom = new DomTester(nsdecl)) { Assert.IsTrue(dom.Type("Customer").HasAttribute("System.SerializableAttribute")); Assert.IsTrue(dom.Type("Customer").HasAttribute("Test.SuperAttribute")); Assert.IsTrue(dom.Type("Customer").HasAttribute("Test.Crattribute")); } new CodeBuilder().GenerateCode(Console.Out, nsdecl); }
public void AddProperties() { NamespaceDeclaration nsdecl = new NamespaceDeclaration("Test"); ClassDeclaration cdecl = nsdecl.AddClass("Customer"); FieldDeclaration lastName = new FieldDeclaration("_lastName", "System.String"); PropertyDeclaration propdecl = new PropertyDeclaration("LastName", lastName, typeof(string)); cdecl.AddProperty(propdecl); PropertyDeclaration firstName = cdecl.AddProperty("FirstName", "_firstName", typeof(string)); PropertyDeclaration duplicateFirstName = cdecl.AddProperty("FirstName", "_firstName", typeof(string)); Assert.AreEqual(firstName, duplicateFirstName); cdecl.AddProperty("DateOfBirth", "_dateOfBirth", typeof(DateTime), true); cdecl.AddProperty("Age", "_age", new CodeDomTypeReference(typeof(int))); cdecl.AddProperty("Items", "_items", "System.Collections.Generic.List", "System.String"); using (DomTester dom = new DomTester(nsdecl)) { Assert.IsTrue(dom.ContainsType("Test.Customer")); Assert.IsTrue(dom.ContainsProperty("Test.Customer", "FirstName")); Assert.IsTrue(dom.ContainsProperty("Test.Customer", "LastName")); Assert.IsTrue(dom.ContainsProperty("Test.Customer", "DateOfBirth")); Assert.IsTrue(dom.ContainsProperty("Test.Customer", "Age")); Assert.IsTrue(dom.ContainsProperty("Test.Customer", "Items")); } new CodeBuilder().GenerateCode(Console.Out, nsdecl); }
public void VerifyAddClassTypeParameters() { NamespaceDeclaration nsdecl = new NamespaceDeclaration("Test"); nsdecl.AddClass("Customer"); nsdecl.AddClass("CustomerList") .InheritsFrom("System.Collections.Generic.List", "Test.Customer"); using (DomTester dom = new DomTester(nsdecl)) { Assert.IsTrue(dom.Type("CustomerList") .InheritsFrom("List`1", "Customer")); } //new CodeBuilder().GenerateCode(Console.Out, nsdecl); }
public void VerifyInheritsFrom() { NamespaceDeclaration nsdecl = new NamespaceDeclaration("TestContainer"); nsdecl.AddClass("Manager") .InheritsFrom(nsdecl.AddClass("Employee")); using (DomTester dom = new DomTester(nsdecl)) { Assert.IsTrue(dom.Type("Manager").InheritsFrom("Employee")); } //new CodeBuilder().GenerateCode(Console.Out, nsdecl); }