MphChlUtils { public static int encodeFlags(boolean cyano_flag, boolean floating_flag, boolean adj_flag) { int flag = 0; if (cyano_flag) { flag = flag | 0x1; } if (floating_flag) { flag = flag | 0x2; } if (adj_flag) { flag = flag | 0x4; } return flag; }  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 testEncodeFlags() { Assert.assertEquals(0, MphChlUtils.encodeFlags(false, false, false)); Assert.assertEquals(1, MphChlUtils.encodeFlags(true, false, false)); Assert.assertEquals(2, MphChlUtils.encodeFlags(false, true, false)); Assert.assertEquals(4, MphChlUtils.encodeFlags(false, false, true)); Assert.assertEquals(3, MphChlUtils.encodeFlags(true, true, false)); Assert.assertEquals(5, MphChlUtils.encodeFlags(true, false, true)); }