add unit test files for C#

This commit is contained in:
wing328
2016-01-31 01:52:41 +08:00
parent 587615b656
commit 4ce255dc38
17 changed files with 972 additions and 1 deletions

View File

@@ -41,6 +41,7 @@ public class CSharpClientCodegen extends DefaultCodegen implements CodegenConfig
protected String packageVersion = "1.0.0";
protected String clientPackage = "IO.Swagger.Client";
protected String sourceFolder = "src" + File.separator + "main" + File.separator + "csharp";
protected String testFolder = "Test";
public CSharpClientCodegen() {
super();
@@ -51,6 +52,9 @@ public class CSharpClientCodegen extends DefaultCodegen implements CodegenConfig
apiPackage = "IO.Swagger.Api";
modelPackage = "IO.Swagger.Model";
modelTestTemplateFiles.put("model_test.mustache", ".cs");
apiTestTemplateFiles.put("api_test.mustache", ".cs");
reservedWords = new HashSet<String>(
Arrays.asList(
// local variable names in API methods (endpoints)
@@ -270,6 +274,16 @@ public class CSharpClientCodegen extends DefaultCodegen implements CodegenConfig
return "_" + name;
}
@Override
public String apiTestFileFolder() {
return outputFolder + ".Test";
}
@Override
public String modelTestFileFolder() {
return outputFolder + ".Test";
}
@Override
public String apiFileFolder() {
return outputFolder + File.separator + sourceFolder + File.separator + apiPackage().replace('.', File.separatorChar);
@@ -342,6 +356,16 @@ public class CSharpClientCodegen extends DefaultCodegen implements CodegenConfig
return toModelName(name);
}
@Override
public String toApiTestFilename(String name) {
return toApiName(name) + "Tests";
}
@Override
public String toModelTestFilename(String name) {
return toModelName(name) + "Tests";
}
@Override
public Map<String, Object> postProcessOperations(Map<String, Object> objs) {
super.postProcessOperations(objs);

View File

@@ -0,0 +1,61 @@
using System;
using System.IO;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Reflection;
using RestSharp;
using NUnit.Framework;
using {{packageName}}.Client;
using {{packageName}}.Api;
{{#hasImport}}using {{packageName}}.Model;
{{/hasImport}}
namespace {{packageName}}.Test
{
[TestFixture]
public class {{classname}}Tests
{
private {{classname}} instance;
/// <summary>
/// Setup before each unit test
/// </summary>
[SetUp]
public void Init()
{
instance = new {{classname}}();
}
/// <summary>
/// Clean up after each unit test
/// </summary>
[TearDown]
public void Cleanup()
{
}
/// <summary>
/// Test an instance of {{classname}}
/// </summary>
[Test]
public void {{operationId}}InstanceTest()
{
Assert.IsInstanceOf<{{classname}}> (instance, "instance is a {{classname}}");
}
{{#operations}}{{#operation}}
/// <summary>
/// Test {{operationId}}
/// </summary>
[Test]
public void {{operationId}}Test()
{
// TODO: add unit test for the method '{{operationId}}'
}
{{/operation}}{{/operations}}
}
}

View File

@@ -0,0 +1,63 @@
using NUnit.Framework;
using System;
using System.Linq;
using System.IO;
using System.Collections.Generic;
using {{packageName}}.Api;
using {{packageName}}.Model;
using {{packageName}}.Client;
using System.Reflection;
{{#models}}
{{#model}}
namespace {{packageName}}.Test
{
[TestFixture]
public class {{classname}}Tests
{
private {{classname}} instance;
/// <summary>
/// Setup before each test
/// </summary>
[SetUp]
public void Init()
{
instance = new {{classname}}();
}
/// <summary>
/// Clean up after each test
/// </summary>
[TearDown]
public void Cleanup()
{
}
/// <summary>
/// Test an instance of {{classname}}
/// </summary>
[Test]
public void {{classname}}InstanceTest()
{
Assert.IsInstanceOf<{{classname}}> (instance, "instance is a {{classname}}");
}
{{#vars}}
/// <summary>
/// Test the property '{{name}}'
/// </summary>
[Test]
public void {{name}}Test()
{
// TODO: unit test for the property '{{name}}'
}
{{/vars}}
}
}
{{/model}}
{{/models}}