public void CreateMethodTest() { const string className = "TestClass"; var typeProvider = new DefaultObjectTypeProvider("Schema"); var commentCreator = new DefaultEnglishCommentCreator(); var generator = new RequestMethodResourceDecorator.ResourceGenerator( className, typeProvider, commentCreator); // Generate a method. var decl = new CodeTypeDeclaration(); var resource = new MockResource(); var method = new MockMethod() { Name = "Test", Parameters = new Dictionary <string, IParameter>() }; method.Parameters.Add( "a", new MockParameter() { Name = "a", ParameterType = "string", IsRequired = false }); method.Parameters.Add( "b", new MockParameter() { Name = "b", ParameterType = "string", IsRequired = true }); CodeMemberMethod generatedMethod = generator.CreateMethod(decl, resource, method, true, RequestMethodResourceDecorator.MethodType.Request); Assert.AreEqual("Test", generatedMethod.Name); Assert.AreEqual(2, generatedMethod.Parameters.Count); // two parameters defined. Assert.AreEqual(1, generatedMethod.Statements.Count); // one "new ...Request()" statement. Assert.AreEqual("TestRequest", generatedMethod.ReturnType.BaseType); }
public void CreateParameterComment() { var instance = new DefaultEnglishCommentCreator(); var parameter = new MockParameter(); var progamaticName = "testParameter"; CodeCommentStatementCollection result = instance.CreateParameterComment(parameter, progamaticName); Assert.IsNotNull(result); Assert.AreEqual(1, result.Count); Assert.IsNotNull(result[0].Comment); Assert.AreEqual("<param name=\"testParameter\">Optional</param>", result[0].Comment.Text); }
public void CreateParameterComment() { var instance = new DefaultEnglishCommentCreator(); var parameter = new MockParameter(); var progamaticName = "testParameter"; CodeCommentStatementCollection result = instance.CreateParameterComment(parameter, progamaticName); Assert.IsNotNull(result); Assert.AreEqual(1, result.Count); Assert.IsNotNull(result[0].Comment); Assert.AreEqual("<param name=\"testParameter\">Optional</param>", result[0].Comment.Text); }
public void GetParameterMetaData() { var instance = new DefaultEnglishCommentCreator(); var parameter = new MockParameter(); var progamaticName = "testParameter"; parameter.Name = progamaticName; parameter.IsRequired = false; string result = instance.GetParameterMetaData(parameter, progamaticName); Assert.AreEqual("Optional", result); parameter.IsRequired = true; result = instance.GetParameterMetaData(parameter, progamaticName); Assert.AreEqual("Required", result); parameter.Name = "test-parameters"; result = instance.GetParameterMetaData(parameter, progamaticName); Assert.AreEqual("test-parameters - Required", result); parameter.Name = progamaticName; parameter.Minimum = "53"; result = instance.GetParameterMetaData(parameter, progamaticName); Assert.AreEqual("Required - Minimum value of 53", result); parameter.Minimum = null; parameter.Maximum = "105"; result = instance.GetParameterMetaData(parameter, progamaticName); Assert.AreEqual("Required - Maximum value of 105", result); parameter.Maximum = null; parameter.Pattern = ".*\\.java"; result = instance.GetParameterMetaData(parameter, progamaticName); Assert.AreEqual("Required - Must match pattern .*\\.java", result); parameter.Pattern = null; parameter.EnumValues = new List <string> { "a", "b", "c", "d" }; result = instance.GetParameterMetaData(parameter, progamaticName); Assert.AreEqual("Required - Must be one of the following values [a, b, c, d]", result); parameter.EnumValues = null; parameter.Description = "A Test Description"; result = instance.GetParameterMetaData(parameter, progamaticName); Assert.AreEqual("Required - A Test Description", result); }
public void CreateMethodComment() { var method = new MockMethod(); var instance = new DefaultEnglishCommentCreator(); method.Description = "A Test description"; CodeCommentStatementCollection result = instance.CreateMethodComment(method); Assert.IsNotNull(result); Assert.AreEqual(1, result.Count); Assert.IsNotNull(result[0].Comment); Assert.AreEqual("<summary>A Test description</summary>", result[0].Comment.Text); method.Description = "A <nasty> \"description\""; result = instance.CreateMethodComment(method); Assert.AreEqual("<summary>A <nasty> "description"</summary>", result[0].Comment.Text); }
public void CreateParameterCommentValidateParams() { var instance = new DefaultEnglishCommentCreator(); var parameter = new MockParameter(); string progamaticName = null; Assert.Throws( typeof(ArgumentNullException), () => instance.CreateParameterComment(parameter, progamaticName)); progamaticName = ""; Assert.Throws(typeof(ArgumentException), () => instance.CreateParameterComment(parameter, progamaticName)); progamaticName = "testParameter"; parameter = null; Assert.Throws( typeof(ArgumentNullException), () => instance.CreateParameterComment(parameter, progamaticName)); }
public void CreateParameterCommentValidateParams() { var instance = new DefaultEnglishCommentCreator(); var parameter = new MockParameter(); string progamaticName = null; Assert.Throws( typeof(ArgumentNullException), () => instance.CreateParameterComment(parameter, progamaticName)); progamaticName = ""; Assert.Throws(typeof(ArgumentException), () => instance.CreateParameterComment(parameter, progamaticName)); progamaticName = "testParameter"; parameter = null; Assert.Throws( typeof(ArgumentNullException), () => instance.CreateParameterComment(parameter, progamaticName)); }
public void CreateMethodComment() { var method = new MockMethod(); var instance = new DefaultEnglishCommentCreator(); method.Description = "A Test description"; CodeCommentStatementCollection result = instance.CreateMethodComment(method); Assert.IsNotNull(result); Assert.AreEqual(1, result.Count); Assert.IsNotNull(result[0].Comment); Assert.AreEqual("<summary>A Test description</summary>", result[0].Comment.Text); method.Description = "A <nasty> \"description\""; result = instance.CreateMethodComment(method); Assert.AreEqual("<summary>A <nasty> "description"</summary>", result[0].Comment.Text); }
public void CreateMethodTest() { const string className = "TestClass"; var typeProvider = new DefaultObjectTypeProvider("Schema"); var commentCreator = new DefaultEnglishCommentCreator(); var generator = new RequestMethodResourceDecorator.ResourceGenerator( className, typeProvider, commentCreator); // Generate a method. var decl = new CodeTypeDeclaration(); var resource = new MockResource(); var method = new MockMethod() { Name = "Test", Parameters = new Dictionary<string, IParameter>()}; method.Parameters.Add( "a", new MockParameter() { Name = "a", ParameterType = "string", IsRequired = false }); method.Parameters.Add( "b", new MockParameter() { Name = "b", ParameterType = "string", IsRequired = true }); CodeMemberMethod generatedMethod = generator.CreateMethod(decl, resource, method, true); Assert.AreEqual("Test", generatedMethod.Name); Assert.AreEqual(2, generatedMethod.Parameters.Count); // two parameters defined. Assert.AreEqual(1, generatedMethod.Statements.Count); // one "new ...Request()" statement. Assert.AreEqual("TestRequest", generatedMethod.ReturnType.BaseType); }
public void CreateMethodCommentValidateParams() { var instance = new DefaultEnglishCommentCreator(); Assert.Throws(typeof(ArgumentNullException), () => instance.CreateMethodComment(null)); }
public void GetParameterMetaData() { var instance = new DefaultEnglishCommentCreator(); var parameter = new MockParameter(); var progamaticName = "testParameter"; parameter.Name = progamaticName; parameter.IsRequired = false; string result = instance.GetParameterMetaData(parameter, progamaticName); Assert.AreEqual("Optional", result); parameter.IsRequired = true; result = instance.GetParameterMetaData(parameter, progamaticName); Assert.AreEqual("Required", result); parameter.Name = "test-parameters"; result = instance.GetParameterMetaData(parameter, progamaticName); Assert.AreEqual("test-parameters - Required", result); parameter.Name = progamaticName; parameter.Minimum = "53"; result = instance.GetParameterMetaData(parameter, progamaticName); Assert.AreEqual("Required - Minimum value of 53", result); parameter.Minimum = null; parameter.Maximum = "105"; result = instance.GetParameterMetaData(parameter, progamaticName); Assert.AreEqual("Required - Maximum value of 105", result); parameter.Maximum = null; parameter.Pattern = ".*\\.java"; result = instance.GetParameterMetaData(parameter, progamaticName); Assert.AreEqual("Required - Must match pattern .*\\.java", result); parameter.Pattern = null; parameter.EnumValues = new List<string> { "a", "b", "c", "d" }; result = instance.GetParameterMetaData(parameter, progamaticName); Assert.AreEqual("Required - Must be one of the following values [a, b, c, d]", result); parameter.EnumValues = null; parameter.Description = "A Test Description"; result = instance.GetParameterMetaData(parameter, progamaticName); Assert.AreEqual("Required - A Test Description", result); }
public void CreateMethodCommentValidateParams() { var instance = new DefaultEnglishCommentCreator(); Assert.Throws(typeof(ArgumentNullException), () => instance.CreateMethodComment(null)); }