/** Checks that the headers, metrics and histogram are all equal. */ @Override public boolean equals(final Object o) { if (o == null) { return false; } if (getClass() != o.getClass()) { return false; } final MetricsFile that = (MetricsFile) o; if (!areHeadersEqual(that)) { return false; } if (!areMetricsEqual(that)) { return false; } if (!areHistogramsEqual(that)) { return false; } return true; }
/** Checks that the headers, metrics and histogram are all equal. */ @Override public boolean equals(final Object o) { if (o == null) { return false; } if (getClass() != o.getClass()) { return false; } final MetricsFile that = (MetricsFile) o; if (!areHeadersEqual(that)) { return false; } if (!areMetricsEqual(that)) { return false; } if (!areHistogramsEqual(that)) { return false; } return true; }
/** Checks that the headers, metrics and histogram are all equal. */ @Override public boolean equals(final Object o) { if (o == null) { return false; } if (getClass() != o.getClass()) { return false; } final MetricsFile that = (MetricsFile) o; if (!areHeadersEqual(that)) { return false; } if (!areMetricsEqual(that)) { return false; } if (!areHistogramsEqual(that)) { return false; } return true; }
@Override protected int doWork() { IOUtil.assertFilesAreReadable(metricsFiles); final MetricsFile<?, ?> metricsA = new MetricsFile(); final MetricsFile<?, ?> metricsB = new MetricsFile(); try { metricsA.read(new FileReader(metricsFiles.get(0))); metricsB.read(new FileReader(metricsFiles.get(1))); final boolean areEqual = metricsA.areMetricsEqual(metricsB) && metricsA.areHistogramsEqual(metricsB); final String status = areEqual ? "EQUAL" : "NOT EQUAL"; log.info("Files " + metricsFiles.get(0) + " and " + metricsFiles.get(1) + "are " + status); } catch (final Exception e) { throw new PicardException(e.getMessage()); } return 0; }
@Override protected int doWork() { IOUtil.assertFilesAreReadable(metricsFiles); final MetricsFile<?, ?> metricsA = new MetricsFile(); final MetricsFile<?, ?> metricsB = new MetricsFile(); try { metricsA.read(new FileReader(metricsFiles.get(0))); metricsB.read(new FileReader(metricsFiles.get(1))); final boolean areEqual = metricsA.areMetricsEqual(metricsB) && metricsA.areHistogramsEqual(metricsB); final String status = areEqual ? "EQUAL" : "NOT EQUAL"; log.info("Files " + metricsFiles.get(0) + " and " + metricsFiles.get(1) + "are " + status); } catch (final Exception e) { throw new PicardException(e.getMessage()); } return 0; }
/** * Compare the metrics and histograms in two files, ignoring headers. */ public static boolean areMetricsAndHistogramsEqual(final File file1, final File file2) { try { final MetricsFile<MetricBase, ?> mf1 = new MetricsFile<>(); final MetricsFile<MetricBase, ?> mf2 = new MetricsFile<>(); mf1.read(new FileReader(file1)); mf2.read(new FileReader(file2)); return mf1.areMetricsEqual(mf2) && mf1.areHistogramsEqual(mf2); } catch (FileNotFoundException e) { throw new SAMException(e.getMessage(), e); } } }
/** * Compare the metrics and histograms in two files, ignoring headers. */ public static boolean areMetricsAndHistogramsEqual(final File file1, final File file2) { try { final MetricsFile<MetricBase, ?> mf1 = new MetricsFile<>(); final MetricsFile<MetricBase, ?> mf2 = new MetricsFile<>(); mf1.read(new FileReader(file1)); mf2.read(new FileReader(file2)); return mf1.areMetricsEqual(mf2) && mf1.areHistogramsEqual(mf2); } catch (FileNotFoundException e) { throw new SAMException(e.getMessage(), e); } } }
private void assertMetricsFileEqual(final File actualMetricsFile, final File expectedMetricsFile) throws FileNotFoundException { // Actual metrics file final MetricsFile<GenotypeConcordanceSummaryMetrics, Comparable<?>> actual = new MetricsFile<GenotypeConcordanceSummaryMetrics, Comparable<?>>(); actual.read(new FileReader(actualMetricsFile)); // Expected metrics file final MetricsFile<GenotypeConcordanceSummaryMetrics, Comparable<?>> expected = new MetricsFile<GenotypeConcordanceSummaryMetrics, Comparable<?>>(); expected.read(new FileReader(expectedMetricsFile)); // Note - cannot use .equals as it calls .areHeadersEqual and they are not since the timestamp (at a minimum is different) Assert.assertTrue(expected.areMetricsEqual(actual)); Assert.assertTrue(expected.areHistogramsEqual(actual)); }