@Test
public void testRecordsFullInfo() throws Exception {

    VcfRecord record = records(createInputStream("chr22-info.vcf")).iterator().next();
    assertNotNull(record);
    /*
      LDAF=0.0649;RSQ=0.8652;AN=2184;ERATE=0.0046;VT=SNP;AA=.;AVGPOST=0.9799;THETA=0.0149;SNPSOURCE=LOWCOV;AC=134;AF=0.06;ASN_AF=0.04;AMR_AF=0.05;AFR_AF=0.10;EUR_AF=0.06
     */
    assertEquals("0.0649", record.getInfo().get("LDAF").get(0));
    assertEquals("0.8652", record.getInfo().get("RSQ").get(0));
    assertEquals("2184", record.getInfo().get("AN").get(0));
    assertEquals("0.0046", record.getInfo().get("ERATE").get(0));
    assertEquals("SNP", record.getInfo().get("VT").get(0));
    assertNotNull(record.getInfo().get("AA"));
    assertTrue(record.getInfo().get("AA").isEmpty());
    /*
      what about flags?
      record.getInfo().get("H2") ??
      what about some but not all missing values?
      AA=.,0.123,.
    */
    assertEquals("0.9799", record.getInfo().get("AVGPOST").get(0));
    assertEquals("0.0149", record.getInfo().get("THETA").get(0));
    assertEquals("LOWCOV", record.getInfo().get("SNPSOURCE").get(0));
    assertEquals("134", record.getInfo().get("AC").get(0));
    assertEquals("0.06", record.getInfo().get("AF").get(0));
    assertEquals("0.04", record.getInfo().get("ASN_AF").get(0));
    assertEquals("0.05", record.getInfo().get("AMR_AF").get(0));
    assertEquals("0.10", record.getInfo().get("AFR_AF").get(0));
    assertEquals("0.06", record.getInfo().get("EUR_AF").get(0));
    /*
      GT:DS:GL
      0|0:0.000:-0.02,-1.38,-5.00
     */
    assertEquals("0|0", record.getGenotypes().get("NA20828").getGt());
    assertEquals(ImmutableList.of("0|0"), record.getGenotypes().get("NA20828").getFields().get("GT"));
    assertEquals(ImmutableList.of("0.000"), record.getGenotypes().get("NA20828").getFields().get("DS"));
    assertEquals(ImmutableList.of("-0.02", "-1.38", "-5.00"), record.getGenotypes().get("NA20828").getFields().get("GL"));
}