package io.swagger.jackson; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotNull; import static org.testng.Assert.assertNull; import static org.testng.Assert.assertTrue; import com.google.common.base.Functions; import com.google.common.collect.Collections2; import io.swagger.converter.ModelConverterContextImpl; import io.swagger.models.Model; import io.swagger.models.properties.Property; import io.swagger.models.properties.StringProperty; import org.testng.annotations.Test; import java.lang.annotation.Annotation; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; public class EnumTest extends SwaggerTestBase { @Test public void testEnum() throws Exception { final ModelResolver modelResolver = new ModelResolver(mapper()); final ModelConverterContextImpl context = new ModelConverterContextImpl(modelResolver); final Model model = context.resolve(Currency.class); assertNull(model); final Property property = context.resolveProperty(Currency.class, new Annotation[]{}); assertNotNull(property); assertTrue(property instanceof StringProperty); final StringProperty strProperty = (StringProperty) property; assertNotNull(strProperty.getEnum()); final Collection<String> values = new ArrayList<String>(Collections2.transform(Arrays.asList(Currency.values()), Functions.toStringFunction())); assertEquals(strProperty.getEnum(), values); } public enum Currency { USA, CANADA } }