Merge branch 'master' of https://github.com/qtstc/swagger-codegen into qtstc-master

This commit is contained in:
wing328
2016-06-21 22:13:48 +08:00
2 changed files with 44 additions and 29 deletions

View File

@@ -1,5 +1,6 @@
package io.swagger.codegen.java;
import com.google.common.collect.Sets;
import io.swagger.codegen.CodegenModel;
import io.swagger.codegen.CodegenParameter;
import io.swagger.codegen.CodegenProperty;
@@ -12,13 +13,12 @@ import io.swagger.models.parameters.QueryParameter;
import io.swagger.models.properties.ArrayProperty;
import io.swagger.models.properties.ByteArrayProperty;
import io.swagger.models.properties.DateTimeProperty;
import io.swagger.models.properties.DecimalProperty;
import io.swagger.models.properties.IntegerProperty;
import io.swagger.models.properties.LongProperty;
import io.swagger.models.properties.MapProperty;
import io.swagger.models.properties.RefProperty;
import io.swagger.models.properties.StringProperty;
import com.google.common.collect.Sets;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
@@ -458,6 +458,21 @@ public class JavaModelTest {
Assert.assertNull(cm.allowableValues);
}
@Test(description = "types used by inner properties should be imported")
public void mapWithAnListOfBigDecimalTest() {
final CodegenModel cm1 = new JavaClientCodegen().fromModel("sample", new ModelImpl()
.description("model with Map<String, List<BigDecimal>>")
.property("map", new MapProperty().additionalProperties(new ArrayProperty(new DecimalProperty()))));
Assert.assertEquals(cm1.vars.get(0).datatype, "Map<String, List<BigDecimal>>");
Assert.assertTrue(cm1.imports.contains("BigDecimal"));
final CodegenModel cm2 = new JavaClientCodegen().fromModel("sample", new ModelImpl()
.description("model with Map<String, Map<String, List<BigDecimal>>>")
.property("map", new MapProperty().additionalProperties(new MapProperty().additionalProperties(new ArrayProperty(new DecimalProperty())))));
Assert.assertEquals(cm2.vars.get(0).datatype, "Map<String, Map<String, List<BigDecimal>>>");
Assert.assertTrue(cm2.imports.contains("BigDecimal"));
}
@DataProvider(name = "modelNames")
public static Object[][] primeNumbers() {
return new Object[][] {