/** * Test when the samplesheet only contains the vital columns with data. * * @throws IOException */ @Test public void testValidMinimalSamplesheet() throws IOException { List<Sample> actualSamples = reader.read(getClassLoader().getResource("samplesheets/valid_minimal.csv").getFile()); Assert.assertEquals(actualSamples, expectedValidSamples); }
/** * Test when a sample is missing the last field but with a comma ending the previous field. * * @throws IOException */ @Test(expectedExceptions = IOException.class) public void testSampleMissingLastFieldEndingWithAComma() throws IOException { reader.read( getClassLoader() .getResource("samplesheets/sample_missing_last_field_comma-ended.csv") .getFile()); }
/** * Test when the run value and date are swapped (so columns do not have a correct seeming value * but is of the same type). Currently, the expected behavior is not checking on this and it * should pass as long as the type of the value is correct. * * @throws IOException */ @Test public void testSampleRunAndSequencingStartDateSwapped() throws IOException { @SuppressWarnings("unchecked") List<Sample> expectedSamples = (List<Sample>) expectedValidSamples.clone(); expectedSamples.remove(1); expectedSamples.add(1, new Sample("sample2", "SN163", 648, 150616, "AHKYLMADXX", 2)); List<Sample> actualSamples = reader.read( getClassLoader() .getResource("samplesheets/sample_run_sequencingStartDate_swapped.csv") .getFile()); Assert.assertEquals(actualSamples, expectedSamples); }
/** * Test when a sample is missing a field. * * @throws IOException */ @Test(expectedExceptions = IOException.class) public void testSampleMissingRun() throws IOException { reader.read(getClassLoader().getResource("samplesheets/sample_missing_run.csv").getFile()); }
/** * Test when the header of the csv file is missing. * * @throws IOException */ @Test(expectedExceptions = IOException.class) public void testHeaderLineIsMissing() throws IOException { reader.read(getClassLoader().getResource("samplesheets/missing_header_line.csv").getFile()); }
/** * Test when the header of the csv file is an empty line. * * @throws IOException */ @Test(expectedExceptions = IOException.class) public void testHeaderIsAnEmptyLine() throws IOException { reader.read(getClassLoader().getResource("samplesheets/header_empty_line.csv").getFile()); }