private void setCounterData(MapReduceCounterData counter, String filePath)
      throws IOException {
    Properties counterData = TestUtil.loadProperties(filePath);

    for (Object groupName : counterData.keySet()) {
      String counterValueString = (String) counterData.get(groupName);
      counterValueString = counterValueString.replaceAll("\\{|\\}", "");

      StringBuilder stringBuilder = new StringBuilder();

      for (String counterKeyValue : counterValueString.split(",")) {
        stringBuilder.append(counterKeyValue.trim()).append('\n');
      }
      ByteArrayInputStream inputStream = new ByteArrayInputStream(stringBuilder.toString().getBytes(DEFAULT_ENCODING));
      Properties counterProperties = new Properties();
      counterProperties.load(inputStream);

      for (Object counterKey : counterProperties.keySet()) {
        long counterValue = Long.parseLong(counterProperties.get(counterKey).toString());
        counter.set(groupName.toString(), counterKey.toString(), counterValue);
      }
    }
  }
Test aims to exercise {@code getAnalysis()} method in {@code AnalyticJob}.<br>
Dependencies to {@code ElephantContext, ElephantFetcher and Heuristics} are mocked
out with JMockit.
test/com/linkedin/drelephant/analysis/AnalyticJobTest.java