MphChlUtils { public static void setToInvalid(WritableSample[] targetSamples, boolean exportMph) { targetSamples[0].set(Double.NaN); targetSamples[1].set(0.0); targetSamples[2].set(0.0); targetSamples[3].set(0.0); targetSamples[4].set(0.0); if (exportMph) { targetSamples[5].set(Double.NaN); } }  static FlagCoding createMphChlFlagCoding(String flagId); static void setupMphChlBitmask(Product mphChlProduct); static int encodeFlags(boolean cyano_flag, boolean floating_flag, boolean adj_flag); static double computeChlExponential(double mph); static double computeChlPolynomial(double mph); static boolean isCyano(double SICF_peak, double SIPF_peak, double BAIR_peak); static boolean isCyano(double SICF_peak, double SIPF_peak); static void setToInvalid(WritableSample[] targetSamples, boolean exportMph); static double computeMph(double rBr_Max, double r_7, double r_14, double wl_max, double wl_7, double wl_14);  }
@Test public void testSetToInvalid() { final TestSample[] samples = createSampleArray(6); MphChlUtils.setToInvalid(samples, false); assertEquals(Double.NaN, samples[0].getDouble(), 1e-8); assertEquals(0.0, samples[1].getDouble(), 1e-8); assertEquals(0.0, samples[2].getDouble(), 1e-8); assertEquals(0.0, samples[3].getDouble(), 1e-8); assertEquals(0.0, samples[4].getDouble(), 1e-8); assertEquals(0.0, samples[4].getDouble(), 1e-8); }
@Test public void testSetToInvalid_withMph() { final TestSample[] samples = createSampleArray(7); MphChlUtils.setToInvalid(samples, true); assertEquals(Double.NaN, samples[0].getDouble(), 1e-8); assertEquals(0.0, samples[1].getDouble(), 1e-8); assertEquals(0.0, samples[2].getDouble(), 1e-8); assertEquals(0.0, samples[3].getDouble(), 1e-8); assertEquals(0.0, samples[4].getDouble(), 1e-8); assertEquals(Double.NaN, samples[5].getDouble(), 1e-8); }