### Question:
InsituReader extends NetcdfReader { static double normalizeLon(double lon) { double lon1 = lon; if (lon1 < -360.0 || lon1 > 360.0) { lon1 %= 360.0; } if (lon1 < -180.0) { lon1 += 360.0; } else if (lon1 > 180.0) { lon1 -= 360.0; } return lon1; } InsituReader(String sensorName); @Override void open(DataFile datafile, File archiveRoot); @Override void close(); @Override int getNumRecords(); @Override InsituObservation readObservation(int recordNo); @Override List<SamplingPoint> readSamplingPoints(); @Override final Array read(String role, ExtractDefinition extractDefinition); @Override GeoCoding getGeoCoding(int recordNo); @Override double getDTime(int recordNo, int scanLine); @Override long getTime(int recordNo, int scanLine); @Override InsituSource getInsituSource(); @Override String getDatasetName(); @Override int getScanLineCount(); @Override int getElementCount();  }### Answer:
@Test public void testNormalizeLon() { assertEquals(26.0, InsituReader.normalizeLon(26.0), 1e-8); assertEquals(-107.0, InsituReader.normalizeLon(-107.0), 1e-8); assertEquals(-0.1, InsituReader.normalizeLon(359.9), 1e-8); assertEquals(0.1, InsituReader.normalizeLon(-359.9), 1e-8); assertEquals(-19.0, InsituReader.normalizeLon(-379.0), 1e-8); assertEquals(3.0, InsituReader.normalizeLon(363.0), 1e-8); }