public void testCanGetNumberOfFailedTests() {
    BuildTestSuite suiteWithTwoFailures = new BuildTestSuite("", 0.0f);
    suiteWithTwoFailures.addTestCase(
        new BuildTestCase(null, null, null, null, null, BuildTestCaseResult.FAILED));
    suiteWithTwoFailures.addTestCase(
        new BuildTestCase(null, null, null, null, null, BuildTestCaseResult.FAILED));
    BuildTestSuite suiteWithOneFailure = new BuildTestSuite("", 0.0f);
    suiteWithOneFailure.addTestCase(
        new BuildTestCase(null, null, null, null, null, BuildTestCaseResult.FAILED));
    List threeFailures = new ArrayList();
    threeFailures.add(suiteWithTwoFailures);
    threeFailures.add(suiteWithOneFailure);

    Map props = new HashMap();
    props.put("testsuites", threeFailures);
    BuildDetail laterBuild = new BuildDetail(defaultLogFile, props);

    assertEquals(3, laterBuild.getNumberOfFailures());
  }
  public void testCanGetNumberOfTestsFromBuild() {
    BuildTestSuite suiteWithFiveTests = new BuildTestSuite("", 0.0f);
    suiteWithFiveTests.addTestCase(new BuildTestCase(null, null, null, null, null, null));
    suiteWithFiveTests.addTestCase(new BuildTestCase(null, null, null, null, null, null));
    suiteWithFiveTests.addTestCase(new BuildTestCase(null, null, null, null, null, null));
    suiteWithFiveTests.addTestCase(new BuildTestCase(null, null, null, null, null, null));
    suiteWithFiveTests.addTestCase(new BuildTestCase(null, null, null, null, null, null));
    BuildTestSuite suiteWithFourTests = new BuildTestSuite("", 0.0f);
    suiteWithFourTests.addTestCase(new BuildTestCase(null, null, null, null, null, null));
    suiteWithFourTests.addTestCase(new BuildTestCase(null, null, null, null, null, null));
    suiteWithFourTests.addTestCase(new BuildTestCase(null, null, null, null, null, null));
    suiteWithFourTests.addTestCase(new BuildTestCase(null, null, null, null, null, null));
    List nineTests = new ArrayList();
    nineTests.add(suiteWithFiveTests);
    nineTests.add(suiteWithFourTests);

    Map props = new HashMap();
    props.put("testsuites", nineTests);
    BuildDetail laterBuild = new BuildDetail(defaultLogFile, props);
    assertEquals(9, laterBuild.getNumberOfTests());
  }
  public void testCanGetNumberOfTestErrors() {
    BuildTestSuite suiteWithTwoErrors = new BuildTestSuite("", 0.0f);
    suiteWithTwoErrors.addTestCase(
        new BuildTestCase(null, null, null, null, null, BuildTestCaseResult.ERROR));
    suiteWithTwoErrors.addTestCase(
        new BuildTestCase(null, null, null, null, null, BuildTestCaseResult.ERROR));
    BuildTestSuite suiteWithThreeErrors = new BuildTestSuite("", 0.0f);
    suiteWithThreeErrors.addTestCase(
        new BuildTestCase(null, null, null, null, null, BuildTestCaseResult.ERROR));
    suiteWithThreeErrors.addTestCase(
        new BuildTestCase(null, null, null, null, null, BuildTestCaseResult.ERROR));
    suiteWithThreeErrors.addTestCase(
        new BuildTestCase(null, null, null, null, null, BuildTestCaseResult.ERROR));
    List fiveErrors = new ArrayList();
    fiveErrors.add(suiteWithTwoErrors);
    fiveErrors.add(suiteWithThreeErrors);

    Map props = new HashMap();
    props.put("testsuites", fiveErrors);
    BuildDetail laterBuild = new BuildDetail(defaultLogFile, props);

    assertEquals(5, laterBuild.getNumberOfErrors());
  }