@Test
public void testRead_SST_CCI_V2_Bottle_Data() throws Exception {

    final ExtractDefinitionBuilder builder = prepareExtractBuilder(1985, 1, 5);
    builder.shape(new int[]{1, 3});
    final ExtractDefinition extractDefinition = builder.build();
    try (InsituReader reader = createReader("insitu_13_WMOID_856160_19850120_19850212.nc")) {
        Array array = reader.read("insitu.sea_surface_temperature", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(1.41, array.getDouble(0), 1e-6);
        assertEquals(1.79, array.getDouble(1), 1e-6);
        assertEquals(2.1, array.getDouble(2), 1e-6);
        array = reader.read("insitu.lon", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(-58.1358, array.getDouble(0), 1e-6);
        assertEquals(-61.066898, array.getDouble(1), 1e-6);
        assertEquals(-60.334702, array.getDouble(2), 1e-6);
        array = reader.read("insitu.lat", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(-62.8508, array.getDouble(0), 1e-6);
        assertEquals(-63.0858, array.getDouble(1), 1e-6);
        assertEquals(-62.8353, array.getDouble(2), 1e-6);
        array = reader.read("insitu.time", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(223949699, array.getLong(0));
        assertEquals(223996500, array.getLong(1));
        assertEquals(224026380, array.getLong(2));
        array = reader.read("insitu.sst_uncertainty", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(0.02, array.getDouble(0), 1e-6);
        assertEquals(0.02, array.getDouble(1), 1e-6);
        assertEquals(0.02, array.getDouble(2), 1e-6);
        array = reader.read("insitu.mohc_id", extractDefinition);
        assertEquals(3, array.getSize());
        assertEquals(782525, array.getInt(0));
        assertEquals(785943, array.getInt(1));
        assertEquals(787379, array.getInt(2));
    }
}