示例#1
0
  /* (non-Javadoc)
   * @see caarray.client.test.suite.SearchByExampleTestSuite#evaluateResults(java.util.List, caarray.client.test.search.ExampleSearch, caarray.client.test.TestResult)
   */
  @Override
  protected void evaluateResults(
      List<? extends AbstractCaArrayEntity> resultsList,
      ExampleSearch search,
      TestResult testResult) {
    FileTypeSearch fileTypeSearch = (FileTypeSearch) search;
    List<FileType> fileResults = (List<FileType>) resultsList;
    int namedResults = 0;
    for (FileType fileType : fileResults) {
      if (fileType.getName() != null && fileType.getId() != null) namedResults++;
    }
    if (fileTypeSearch.getExpectedResults() != null) {

      if (namedResults != fileTypeSearch.getExpectedResults()) {
        String errorMessage =
            "Failed with unexpected number of results, expected: "
                + fileTypeSearch.getExpectedResults()
                + ", actual number of results: "
                + namedResults;
        setTestResultFailure(testResult, fileTypeSearch, errorMessage);
      } else {
        String detail = "Found expected number of results: " + namedResults;
        testResult.addDetail(detail);
      }
    }
    if (fileTypeSearch.getMinResults() != null) {

      if (namedResults < fileTypeSearch.getMinResults()) {
        String errorMessage =
            "Failed with unexpected number of results, expected minimum: "
                + fileTypeSearch.getMinResults()
                + ", actual number of results: "
                + namedResults;
        setTestResultFailure(testResult, fileTypeSearch, errorMessage);
      } else {
        String detail = "Found expected number of results: " + namedResults;
        testResult.addDetail(detail);
      }
    }
    if (testResult.isPassed() && !fileTypeSearch.getExpectedNames().isEmpty()) {

      for (String expectedName : fileTypeSearch.getExpectedNames()) {
        boolean foundName = false;
        for (FileType fileType : fileResults) {
          if (fileType.getName().equalsIgnoreCase(expectedName)) {
            foundName = true;
            break;
          }
        }
        if (!foundName) {
          String errorMessage = "Didn't find expected name: " + expectedName;
          setTestResultFailure(testResult, fileTypeSearch, errorMessage);
        } else {
          String detail = "Found expected name: " + expectedName;
          testResult.addDetail(detail);
        }
      }
    }
    if (testResult.isPassed() && !fileTypeSearch.getExpectedCategories().isEmpty()) {

      for (String expectedCategory : fileTypeSearch.getExpectedCategories()) {
        boolean foundName = false;
        for (FileType fileType : fileResults) {
          // TODO: not sure how this works now
          /*if (fileType.getCategory() != null && fileType.getCategory().getName().equalsIgnoreCase(expectedCategory))
          {
              foundName = true;
              break;
          }*/
        }
        if (!foundName) {
          String errorMessage = "Didn't find expected category: " + expectedCategory;
          setTestResultFailure(testResult, fileTypeSearch, errorMessage);
        } else {
          String detail = "Found expected category: " + expectedCategory;
          testResult.addDetail(detail);
        }
      }
    }
  }