Beispiel #1
0
 protected TestResult markField(int tableRow, int matchedRow, int col, QueryResults queryResults) {
   if (col >= fieldNames.size()) return null; // ignore strange table geometry.
   String fieldName = fieldNames.get(col);
   String actualValue = queryResults.getCell(fieldName, matchedRow);
   String expectedValue = table.getCellContents(col, tableRow);
   TestResult testResult;
   if (actualValue == null)
     testResult = TestResult.fail(String.format("field %s not present", fieldName), expectedValue);
   else if (expectedValue == null || expectedValue.length() == 0)
     testResult = TestResult.ignore(actualValue);
   else {
     testResult = matchMessage(actualValue, expectedValue);
     //      if (testResult != null)
     //        table.substitute(col, tableRow, replaceSymbolsWithFullExpansion(message));
     //      else
     //        table.substitute(col, tableRow, replaceSymbolsWithFullExpansion(expectedValue));
     //      else
     if (testResult == null)
       testResult = TestResult.fail(actualValue, replaceSymbolsWithFullExpansion(expectedValue));
     else if (testResult.getExecutionResult() == ExecutionResult.PASS)
       testResult = markMatch(tableRow, matchedRow, col, testResult.getMessage());
   }
   table.updateContent(col, tableRow, testResult);
   getTestContext().increment(testResult.getExecutionResult());
   return testResult;
 }
Beispiel #2
0
 public String formatTestResult() {
   if (testResult.getExecutionResult() == null) {
     return testResult.getMessage() != null
         ? Utils.escapeHTML(testResult.getMessage())
         : originalContent;
   }
   final String escapedMessage =
       testResult.hasMessage() ? Utils.escapeHTML(testResult.getMessage()) : originalContent;
   switch (testResult.getExecutionResult()) {
     case PASS:
       return String.format("<span class=\"pass\">%s</span>", escapedMessage);
     case FAIL:
       if (testResult.hasActual() && testResult.hasExpected()) {
         return String.format(
             "[%s] <span class=\"fail\">expected [%s]</span>",
             Utils.escapeHTML(testResult.getActual()),
             Utils.escapeHTML(testResult.getExpected()));
       } else if ((testResult.hasActual() || testResult.hasExpected())
           && testResult.hasMessage()) {
         return String.format(
             "[%s] <span class=\"fail\">%s</span>",
             Utils.escapeHTML(
                 testResult.hasActual() ? testResult.getActual() : testResult.getExpected()),
             Utils.escapeHTML(testResult.getMessage()));
       }
       return String.format("<span class=\"fail\">%s</span>", escapedMessage);
     case IGNORE:
       return String.format(
           "%s <span class=\"ignore\">%s</span>", originalContent, escapedMessage);
     case ERROR:
       return String.format(
           "%s <span class=\"error\">%s</span>", originalContent, escapedMessage);
   }
   return "Should not be here";
 }
Beispiel #3
0
 protected void scanRowForMatch(int tableRow, QueryResults queryResults) {
   int matchedRow = queryResults.findBestMatch(tableRow);
   if (matchedRow == -1) {
     replaceAllvariablesInRow(tableRow);
     TestResult testResult = TestResult.fail(null, table.getCellContents(0, tableRow), "missing");
     table.updateContent(0, tableRow, testResult);
     getTestContext().increment(testResult.getExecutionResult());
   } else {
     markFieldsInMatchedRow(tableRow, matchedRow, queryResults);
   }
 }
Beispiel #4
0
 private void markMissingFields(List<String> surplusRow, int newTableRow) {
   for (int col = 0; col < surplusRow.size(); col++) {
     String surplusField = surplusRow.get(col);
     if (surplusField == null) {
       String fieldName = fieldNames.get(col);
       TestResult testResult = TestResult.fail(String.format("field %s not present", fieldName));
       table.updateContent(col, newTableRow, testResult);
       getTestContext().increment(testResult.getExecutionResult());
     }
   }
 }
Beispiel #5
0
 @Override
 public void updateContent(int rowIndex, TestResult testResult) {
   rows.get(rowIndex).setExecutionResult(testResult.getExecutionResult());
 }