### Question:
Alleles implements Iterable<Allele>, Comparable<Alleles> { public boolean isAtOrGcSnp() { return isAtOrGcSnp; } private  Alleles(List<Allele> alleles); static Alleles createAlleles(List<Allele> alleleList); static Alleles createAlleles(Allele... allele); static Alleles createBasedOnString(List<String> stringAlleles); static Alleles createBasedOnString(String allele1, String allele2); static Alleles createBasedOnChars(char allele1, char allele2); static Alleles createBasedOnChars(char[] charAlleles); List<Allele> getAlleles(); List<String> getAllelesAsString(); int getAlleleCount(); boolean isSnp(); char[] getAllelesAsChars(); @Override String toString(); Alleles getComplement(); boolean sameAlleles(Alleles other); boolean isAtOrGcSnp(); @Override Iterator<Allele> iterator(); Allele get(int alleleIndex); boolean contains(Allele queryAllele); boolean containsAll(Alleles queryAlleles); @Override int compareTo(Alleles other); @Override int hashCode(); @Override boolean equals(Object obj); Alleles createCopyWithoutDuplicates(); static final Alleles BI_ALLELIC_MISSING; }### Answer:
@Test public void isAtOrGcSnp() { Alleles variantAlleles; variantAlleles = Alleles.createBasedOnChars('A', 'G'); assertEquals(variantAlleles.isAtOrGcSnp(), false); variantAlleles = Alleles.createBasedOnString(Arrays.asList("A", "G")); assertEquals(variantAlleles.isAtOrGcSnp(), false); variantAlleles = Alleles.createBasedOnString(Arrays.asList("G", "C")); assertEquals(variantAlleles.isAtOrGcSnp(), true); variantAlleles = Alleles.createBasedOnChars('A', 'T'); assertEquals(variantAlleles.isAtOrGcSnp(), true); variantAlleles = Alleles.createBasedOnString(Arrays.asList("G", "C", "GC")); assertEquals(variantAlleles.isAtOrGcSnp(), false); variantAlleles = Alleles.createBasedOnString(Arrays.asList("G", "C", "G")); assertEquals(variantAlleles.isAtOrGcSnp(), true); variantAlleles = Alleles.createBasedOnString(Arrays.asList("G", "C", "T")); assertEquals(variantAlleles.isAtOrGcSnp(), false); }