public void DecorateClassTest() { var method = new MockMethod() { Name = "Method", Parameters = new Dictionary <string, IParameter>() }; method.Parameters.Add("Param", new MockParameter() { Name = "Param" }); var resource = new MockResource(); resource.Methods.Add("Method", method); var resourceDecl = new CodeTypeDeclaration(); var requestDecl = new CodeTypeDeclaration(); // Confirm that the decorator has run correctly. var decorator = new ServiceRequestFieldDecorator(); decorator.DecorateClass(resource, method, requestDecl, resourceDecl); Assert.AreEqual(2, requestDecl.Members.Count); // 2 properties Assert.IsInstanceOf <CodeMemberProperty>(requestDecl.Members[0]); Assert.IsInstanceOf <CodeMemberProperty>(requestDecl.Members[1]); Assert.AreEqual("ResourcePath", requestDecl.Members[0].Name); Assert.AreEqual("MethodName", requestDecl.Members[1].Name); }
public void GenerateImplementedStringConstantPropertyTest() { CodeMemberProperty property = ServiceRequestFieldDecorator.GenerateStringConstantPropertyOverride("Name", "Value"); Assert.IsNotNull(property); Assert.AreEqual("Name", property.Name); Assert.IsTrue(property.HasGet); Assert.IsFalse(property.HasSet); Assert.AreEqual(1, property.GetStatements.Count); CodeExpression value = ((CodeMethodReturnStatement)property.GetStatements[0]).Expression; Assert.AreEqual("Value", ((CodePrimitiveExpression)value).Value); }