// Path: tinytypes/src/test/java/tech/anima/tinytypes/Samples.java
// public class Samples {
// 
//     public static class Integer extends IntTinyType {
// 
//         public Integer(int value) {
//             super(value);
//         }
// 
//         public static Integer of(int value) {
//             return new Integer(value);
//         }
// 
//     }
// 
//     public static class OtherInteger extends IntTinyType {
// 
//         public OtherInteger(int value) {
//             super(value);
//         }
// 
//         public static OtherInteger of(int value) {
//             return new OtherInteger(value);
//         }
// 
//     }
// 
//     public static class Byte extends ByteTinyType {
// 
//         public Byte(byte value) {
//             super(value);
//         }
// 
//         public static Byte of(byte value) {
//             return new Byte(value);
//         }
// 
//     }
// 
//     public static class OtherByte extends ByteTinyType {
// 
//         public OtherByte(byte value) {
//             super(value);
//         }
// 
//         public static OtherByte of(byte value) {
//             return new OtherByte(value);
//         }
// 
//     }
// 
//     public static class Str extends StringTinyType {
// 
//         public Str(String value) {
//             super(value);
//         }
// 
//         public static Str of(String value) {
//             return new Str(value);
//         }
// 
//     }
// 
//     public static class OtherStr extends StringTinyType {
// 
//         public OtherStr(String value) {
//             super(value);
//         }
// 
//         public static OtherStr of(String value) {
//             return new OtherStr(value);
//         }
// 
//     }
// 
//     public static class Boolean extends BooleanTinyType {
// 
//         public Boolean(boolean value) {
//             super(value);
//         }
// 
//         public static Boolean of(boolean value) {
//             return new Boolean(value);
//         }
// 
//     }
// 
//     public static class OtherBoolean extends BooleanTinyType {
// 
//         public OtherBoolean(boolean value) {
//             super(value);
//         }
// 
//         public static OtherBoolean of(boolean value) {
//             return new OtherBoolean(value);
//         }
// 
//     }
// 
//     public static class Long extends LongTinyType {
// 
//         public Long(long value) {
//             super(value);
//         }
// 
//         public static Long of(long value) {
//             return new Long(value);
//         }
// 
//     }
// 
//     public static class OtherLong extends LongTinyType {
// 
//         public OtherLong(long value) {
//             super(value);
//         }
// 
//         public static OtherLong of(long value) {
//             return new OtherLong(value);
//         }
// 
//     }
// 
//     public static class Short extends ShortTinyType {
// 
//         public Short(short value) {
//             super(value);
//         }
// 
//         public static Short of(short value) {
//             return new Short(value);
//         }
// 
//     }
// 
//     public static class OtherShort extends ShortTinyType {
// 
//         public OtherShort(short value) {
//             super(value);
//         }
// 
//         public static OtherShort of(short value) {
//             return new OtherShort(value);
//         }
// 
//     }
// 
// }
// 
// Path: jackson/src/main/java/tech/anima/tinytypes/jackson/TinyTypesModule.java
// public final class TinyTypesModule extends Module {
// 
//     @Override
//     public String getModuleName() {
//         return "TinyTypes";
//     }
// 
//     @Override
//     public Version version() {
//         return new Version(1, 1, 0, "SNAPSHOT", "tech.anima", "jackson-datatype-tinytypes");
//     }
// 
//     @Override
//     public void setupModule(SetupContext context) {
//         context.addKeySerializers(new TinyTypesKeySerializers());
//         context.addSerializers(new TinyTypesSerializers());
//         context.addDeserializers(new TinyTypesDeserializers());
//         context.addKeyDeserializers(new TinyTypesKeyDeserializers());
//     }
// 
// }


import com.codahale.metrics.MetricRegistry;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.dropwizard.client.JerseyClientBuilder;
import io.dropwizard.client.JerseyClientConfiguration;
import io.dropwizard.setup.Environment;
import io.dropwizard.testing.junit.DropwizardClientRule;
import javax.validation.Validation;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.experimental.runners.Enclosed;
import org.junit.experimental.theories.DataPoints;
import org.junit.experimental.theories.Theories;
import org.junit.experimental.theories.Theory;
import org.junit.runner.RunWith;
import tech.anima.tinytypes.Samples;
import tech.anima.tinytypes.jackson.TinyTypesModule;
package tech.anima.tinytypes.examples;


@RunWith(Enclosed.class)
public class DropwizardJerseyClientTest {

    @RunWith(Theories.class)
    public static class JsonBodySerializationTest {

        private final Environment dwEnvironment = new Environment("env", new ObjectMapper().registerModule(new TinyTypesModule()), Validation.buildDefaultValidatorFactory().getValidator(), new MetricRegistry(), this.getClass().getClassLoader());
        @ClassRule
        public static final DropwizardClientRule deserializedEcho = new DropwizardClientRule(new DeserializedEchoResource());
        @DataPoints
// Path: tinytypes/src/test/java/tech/anima/tinytypes/Samples.java
// public class Samples {
// 
//     public static class Integer extends IntTinyType {
// 
//         public Integer(int value) {
//             super(value);
//         }
// 
//         public static Integer of(int value) {
//             return new Integer(value);
//         }
// 
//     }
// 
//     public static class OtherInteger extends IntTinyType {
// 
//         public OtherInteger(int value) {
//             super(value);
//         }
// 
//         public static OtherInteger of(int value) {
//             return new OtherInteger(value);
//         }
// 
//     }
// 
//     public static class Byte extends ByteTinyType {
// 
//         public Byte(byte value) {
//             super(value);
//         }
// 
//         public static Byte of(byte value) {
//             return new Byte(value);
//         }
// 
//     }
// 
//     public static class OtherByte extends ByteTinyType {
// 
//         public OtherByte(byte value) {
//             super(value);
//         }
// 
//         public static OtherByte of(byte value) {
//             return new OtherByte(value);
//         }
// 
//     }
// 
//     public static class Str extends StringTinyType {
// 
//         public Str(String value) {
//             super(value);
//         }
// 
//         public static Str of(String value) {
//             return new Str(value);
//         }
// 
//     }
// 
//     public static class OtherStr extends StringTinyType {
// 
//         public OtherStr(String value) {
//             super(value);
//         }
// 
//         public static OtherStr of(String value) {
//             return new OtherStr(value);
//         }
// 
//     }
// 
//     public static class Boolean extends BooleanTinyType {
// 
//         public Boolean(boolean value) {
//             super(value);
//         }
// 
//         public static Boolean of(boolean value) {
//             return new Boolean(value);
//         }
// 
//     }
// 
//     public static class OtherBoolean extends BooleanTinyType {
// 
//         public OtherBoolean(boolean value) {
//             super(value);
//         }
// 
//         public static OtherBoolean of(boolean value) {
//             return new OtherBoolean(value);
//         }
// 
//     }
// 
//     public static class Long extends LongTinyType {
// 
//         public Long(long value) {
//             super(value);
//         }
// 
//         public static Long of(long value) {
//             return new Long(value);
//         }
// 
//     }
// 
//     public static class OtherLong extends LongTinyType {
// 
//         public OtherLong(long value) {
//             super(value);
//         }
// 
//         public static OtherLong of(long value) {
//             return new OtherLong(value);
//         }
// 
//     }
// 
//     public static class Short extends ShortTinyType {
// 
//         public Short(short value) {
//             super(value);
//         }
// 
//         public static Short of(short value) {
//             return new Short(value);
//         }
// 
//     }
// 
//     public static class OtherShort extends ShortTinyType {
// 
//         public OtherShort(short value) {
//             super(value);
//         }
// 
//         public static OtherShort of(short value) {
//             return new OtherShort(value);
//         }
// 
//     }
// 
// }
// 
// Path: jackson/src/main/java/tech/anima/tinytypes/jackson/TinyTypesModule.java
// public final class TinyTypesModule extends Module {
// 
//     @Override
//     public String getModuleName() {
//         return "TinyTypes";
//     }
// 
//     @Override
//     public Version version() {
//         return new Version(1, 1, 0, "SNAPSHOT", "tech.anima", "jackson-datatype-tinytypes");
//     }
// 
//     @Override
//     public void setupModule(SetupContext context) {
//         context.addKeySerializers(new TinyTypesKeySerializers());
//         context.addSerializers(new TinyTypesSerializers());
//         context.addDeserializers(new TinyTypesDeserializers());
//         context.addKeyDeserializers(new TinyTypesKeyDeserializers());
//     }
// 
// }


// Path: examples/src/test/java/tech/anima/tinytypes/examples/DropwizardJerseyClientTest.java
import com.codahale.metrics.MetricRegistry;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.dropwizard.client.JerseyClientBuilder;
import io.dropwizard.client.JerseyClientConfiguration;
import io.dropwizard.setup.Environment;
import io.dropwizard.testing.junit.DropwizardClientRule;
import javax.validation.Validation;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.experimental.runners.Enclosed;
import org.junit.experimental.theories.DataPoints;
import org.junit.experimental.theories.Theories;
import org.junit.experimental.theories.Theory;
import org.junit.runner.RunWith;
import tech.anima.tinytypes.Samples;
import tech.anima.tinytypes.jackson.TinyTypesModule;

package tech.anima.tinytypes.examples;


@RunWith(Enclosed.class)
public class DropwizardJerseyClientTest {

    @RunWith(Theories.class)
    public static class JsonBodySerializationTest {

        private final Environment dwEnvironment = new Environment("env", new ObjectMapper().registerModule(new TinyTypesModule()), Validation.buildDefaultValidatorFactory().getValidator(), new MetricRegistry(), this.getClass().getClassLoader());
        @ClassRule
        public static final DropwizardClientRule deserializedEcho = new DropwizardClientRule(new DeserializedEchoResource());
        @DataPoints
        public static final Object[] tts = new Object[]{new Samples.Boolean(true), new Samples.Str("1"), new Samples.Byte((byte) 1), new Samples.Short((byte) 1), new Samples.Integer(1), new Samples.Long(1)};