@Test
  public void testGetFertDistribution() throws IOException, Exception {
    String line;
    String num = "2";
    String fecd = "FE005";
    String feacd = "AP002";
    String fedep = "10";
    String[] offsets = {"10", "45"};
    String[] ptps = {"33.3", "66.7"};
    // planting data is 19990415
    // fen_tot is 110
    Map expected_1 = new HashMap();
    expected_1.put("event", "fertilizer");
    expected_1.put("date", "19990425");
    expected_1.put("fecd", "FE005");
    expected_1.put("feacd", "AP002");
    expected_1.put("fedep", "10");
    expected_1.put("feamn", "37");
    Map expected_2 = new HashMap();
    expected_2.put("event", "fertilizer");
    expected_2.put("date", "19990530");
    expected_2.put("fecd", "FE005");
    expected_2.put("feacd", "AP002");
    expected_2.put("fedep", "10");
    expected_2.put("feamn", "73");
    Map acctual_1;
    Map acctual_2;

    HashMap<String, Object> data = new HashMap<String, Object>();

    // BufferedReader br = new BufferedReader(
    //         new InputStreamReader(
    //         new FileInputStream(resource2.getPath())));

    // if ((line = br.readLine()) != null) {
    //     HashMap<String, ArrayList<Map>> data = new LinkedHashMap<String, ArrayList<Map>>();
    //     Map<String, Object> expData = JSONAdapter.fromJSON(line);
    //     data.put("experiments", new ArrayList());
    //     data.put("weathers", new ArrayList());
    //     data.get("experiments").add(expData);
    //     data.get("weathers").add((Map) expData.get("weather"));
    AcePathfinderUtil.insertValue(data, "fen_tot", "110");
    AcePathfinderUtil.insertValue(data, "pdate", "19990415");
    ArrayList<HashMap<String, String>> events =
        ExperimentHelper.getFertDistribution(data, num, fecd, feacd, fedep, offsets, ptps);
    // Map mgnData = getObjectOr((HashMap) getObjectOr(data, "experiments", new ArrayList()).get(0),
    // "management", new HashMap());
    // ArrayList<Map> events = (ArrayList<Map>) getObjectOr(data, "events", new ArrayList());
    acctual_1 = events.get(0);
    acctual_2 = events.get(1);
    // }
    //        try {
    //            assertEquals("getRootDistribution: fert app 1", expected_1, acctual_1);
    //            assertEquals("getRootDistribution: fert app 2", expected_2, acctual_2);
    //        } catch (Error e) {
    //            log.error(e.getMessage());
    //        }
    assertEquals("getRootDistribution: fert app 1", expected_1, acctual_1);
    assertEquals("getRootDistribution: fert app 2", expected_2, acctual_2);
    log.info("getFertDistribution Output: {}", events.toString());
  }