public void DecorateClassNonBodyTest() { var decorator = new BodyPropertyDecorator(new DefaultObjectTypeProvider("Schema")); var resource = new MockResource(); var method = new MockMethod() { Name = "Test", HasBody = false }; var decl = new CodeTypeDeclaration(); var resourceDecl = new CodeTypeDeclaration(); decorator.DecorateClass(resource, method, decl, resourceDecl); Assert.AreEqual(0, decl.Members.Count); }
public void GenerateGetBodyOverrideTest() { var decorator = new BodyPropertyDecorator(new DefaultObjectTypeProvider("Schema")); var method = new MockMethod() { Name = "Test", RequestType = "SomeSchema", HasBody = true }; CodeMemberMethod newMethod = decorator.GenerateGetBodyOverride(method); Assert.AreEqual("GetBody", newMethod.Name); Assert.AreEqual(MemberAttributes.Override | MemberAttributes.Family, newMethod.Attributes); Assert.AreEqual(0, newMethod.Parameters.Count); Assert.AreEqual(typeof(object).FullName, newMethod.ReturnType.BaseType); Assert.AreEqual(1, newMethod.Statements.Count); }
public void GenerateBodyPropertyTest() { var decorator = new BodyPropertyDecorator(new DefaultObjectTypeProvider("Schema")); var method = new MockMethod() { Name = "Test", RequestType = "SomeSchema", HasBody = true }; var bodyType = new CodeTypeReference(typeof(object)); CodeTypeMemberCollection newMembers = decorator.GenerateBodyProperty(method, bodyType); // Confirm that the result consists out of a field and a property. Assert.AreEqual(2, newMembers.Count); CollectionAssert.AreEqual( new[] { typeof(CodeMemberField), typeof(CodeMemberProperty) }, (from CodeTypeMember m in newMembers select m.GetType())); }
public void DecorateClassTest() { var decorator = new BodyPropertyDecorator(new DefaultObjectTypeProvider("Schema")); var resource = new MockResource(); var method = new MockMethod() { Name = "Test", RequestType = "SomeSchema", HasBody = true }; var decl = new CodeTypeDeclaration(); var resourceDecl = new CodeTypeDeclaration(); decorator.DecorateClass(resource, method, decl, resourceDecl); Assert.AreEqual(3, decl.Members.Count); Assert.IsInstanceOf <CodeMemberField>(decl.Members[0]); Assert.IsInstanceOf <CodeMemberProperty>(decl.Members[1]); Assert.AreEqual("Body", decl.Members[1].Name); Assert.IsInstanceOf <CodeMemberMethod>(decl.Members[2]); Assert.AreEqual("GetBody", decl.Members[2].Name); }