// Path: src/test/java/com/moozvine/detox/testtypes/withids/SimpleTypeWithACompoundId.java
// @GenerateDTO
// public interface SimpleTypeWithACompoundId extends Serializable {
//   @Id int getIntegerId();
//   @Id String getStringId();
//   String getNotId();
// }


import com.google.common.collect.ImmutableSet;
import com.moozvine.detox.testtypes.*;
import com.moozvine.detox.testtypes.withids.SimpleTypeWithACompoundId;
import com.moozvine.detox.testtypes.withids.SimpleTypeWithACompoundIdBuilder;
import org.junit.Test;
import java.util.Date;
import java.util.Set;
import static org.junit.Assert.assertEquals;
        .withAnInt(2)
        .build();

    final String expected = "{\n" +
        "  \"serializedType\": \"com.moozvine.detox.testtypes.SimpleType\",\n" +
        "  \"someString\": \"one\",\n" +
        "  \"anInt\": 2\n" +
        "}";
    assertEquivalent(expected, built.toString());
  }

  @Test
  public void copiedTypeShouldRenderToString() {
    final SimpleType toCopy = SimpleTypeBuilder.newBuilder()
        .withSomeString("one")
        .withAnInt(2)
        .build();

    final SimpleType copied = SimpleTypeBuilder.copyOf(toCopy).build();

    final String expected = "{\n" +
        "  \"serializedType\": \"com.moozvine.detox.testtypes.SimpleType\",\n" +
        "  \"someString\": \"one\",\n" +
        "  \"anInt\": 2\n" +
        "}";
    assertEquivalent(expected, copied.toString());
  }

  @Test
  public void typeWithIDShouldRenderToString() {
// Path: src/test/java/com/moozvine/detox/testtypes/withids/SimpleTypeWithACompoundId.java
// @GenerateDTO
// public interface SimpleTypeWithACompoundId extends Serializable {
//   @Id int getIntegerId();
//   @Id String getStringId();
//   String getNotId();
// }


// Path: src/test/java/com/moozvine/detox/BuildlerToStringTest.java
import com.google.common.collect.ImmutableSet;
import com.moozvine.detox.testtypes.*;
import com.moozvine.detox.testtypes.withids.SimpleTypeWithACompoundId;
import com.moozvine.detox.testtypes.withids.SimpleTypeWithACompoundIdBuilder;
import org.junit.Test;
import java.util.Date;
import java.util.Set;
import static org.junit.Assert.assertEquals;

        .withAnInt(2)
        .build();

    final String expected = "{\n" +
        "  \"serializedType\": \"com.moozvine.detox.testtypes.SimpleType\",\n" +
        "  \"someString\": \"one\",\n" +
        "  \"anInt\": 2\n" +
        "}";
    assertEquivalent(expected, built.toString());
  }

  @Test
  public void copiedTypeShouldRenderToString() {
    final SimpleType toCopy = SimpleTypeBuilder.newBuilder()
        .withSomeString("one")
        .withAnInt(2)
        .build();

    final SimpleType copied = SimpleTypeBuilder.copyOf(toCopy).build();

    final String expected = "{\n" +
        "  \"serializedType\": \"com.moozvine.detox.testtypes.SimpleType\",\n" +
        "  \"someString\": \"one\",\n" +
        "  \"anInt\": 2\n" +
        "}";
    assertEquivalent(expected, copied.toString());
  }

  @Test
  public void typeWithIDShouldRenderToString() {
    final SimpleTypeWithACompoundId built = SimpleTypeWithACompoundIdBuilder.newBuilder()