public VariantContextTestData(final VCFHeader header, final List<VariantContext> vcs) { final Set<String> samples = new HashSet<String>(); for (final VariantContext vc : vcs) if (vc.hasGenotypes()) samples.addAll(vc.getSampleNames()); this.header = samples.isEmpty() ? header : new VCFHeader(header.getMetaDataInSortedOrder(), samples); this.vcs = vcs; }
public static void assertEquals(final VCFHeader actual, final VCFHeader expected) { Assert.assertEquals( actual.getMetaDataInSortedOrder().size(), expected.getMetaDataInSortedOrder().size(), "No VCF header lines"); // for some reason set.equals() is returning false but all paired elements are .equals(). // Perhaps compare to is busted? // Assert.assertEquals(actual.getMetaDataInInputOrder(), expected.getMetaDataInInputOrder()); final List<VCFHeaderLine> actualLines = new ArrayList<VCFHeaderLine>(actual.getMetaDataInSortedOrder()); final List<VCFHeaderLine> expectedLines = new ArrayList<VCFHeaderLine>(expected.getMetaDataInSortedOrder()); for (int i = 0; i < actualLines.size(); i++) { Assert.assertEquals(actualLines.get(i), expectedLines.get(i), "VCF header lines"); } }