View Javadoc
1   package org.dbunit.assertion.comparer.value;
2   
3   import org.dbunit.DatabaseUnitException;
4   import org.dbunit.dataset.ITable;
5   import org.dbunit.dataset.datatype.DataType;
6   
7   /**
8    * Strategy for comparing values.
9    *
10   * @author Jeff Jensen
11   * @since 2.6.0
12   */
13  @FunctionalInterface
14  public interface ValueComparer
15  {
16      /**
17       * Compare expected and actual values.
18       *
19       * @param expectedTable
20       *            Table containing all expected results.
21       * @param actualTable
22       *            Table containing all actual results.
23       * @param rowNum
24       *            The current row number comparing.
25       * @param columnName
26       *            The name of the current column comparing.
27       * @param dataType
28       *            The {@link DataType} for the current column comparing. Use
29       *            {@link DataType#compare(Object, Object)} for equal, not equal,
30       *            less than, and greater than comparisons.
31       * @param expectedValue
32       *            The current expected value for the column.
33       * @param actualValue
34       *            The current actual value for the column.
35       * @return compare failure message or null if successful compare.
36       * @throws DatabaseUnitException
37       */
38      String compare(ITable expectedTable, ITable actualTable, int rowNum,
39              String columnName, DataType dataType, Object expectedValue,
40              Object actualValue) throws DatabaseUnitException;
41  }