View Javadoc
1   package org.dbunit.assertion;
2   
3   import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
4   
5   import java.io.FileNotFoundException;
6   import java.util.Map;
7   
8   import org.dbunit.assertion.comparer.value.ValueComparer;
9   import org.dbunit.assertion.comparer.value.ValueComparers;
10  import org.dbunit.assertion.comparer.value.builder.ColumnValueComparerMapBuilder;
11  import org.dbunit.dataset.DataSetException;
12  import org.dbunit.dataset.IDataSet;
13  import org.dbunit.dataset.ITable;
14  import org.dbunit.dataset.xml.FlatXmlDataSetBuilder;
15  import org.dbunit.testutil.TestUtils;
16  import org.junit.jupiter.api.Test;
17  
18  public class DbUnitValueComparerAssertIT
19  {
20      public static final String FILE_PATH = "xml/assertionTest.xml";
21  
22      private final DbUnitValueComparerAssert sut =
23              new DbUnitValueComparerAssert();
24  
25      private IDataSet getDataSet() throws DataSetException, FileNotFoundException
26      {
27          return new FlatXmlDataSetBuilder()
28                  .build(TestUtils.getFileReader(FILE_PATH));
29      }
30  
31      @Test
32      void testAssertWithValueComparerITableITableValueComparer_AllRowsEqual_NoFail()
33              throws Exception
34      {
35          final IDataSet dataSet = getDataSet();
36  
37          final ITable expectedTable = dataSet.getTable("TEST_TABLE");
38          final ITable actualTable =
39                  dataSet.getTable("TEST_TABLE_WITH_SAME_VALUE");
40          final ValueComparer defaultValueComparer =
41                  ValueComparers.isActualEqualToExpected;
42          assertDoesNotThrow(() -> sut.assertWithValueComparer(expectedTable,
43                  actualTable, defaultValueComparer));
44      }
45  
46      @Test
47      void testAssertWithValueComparerITableITableValueComparerMap_OneColumnNotEqual_NoFail()
48              throws Exception
49      {
50          final IDataSet dataSet = getDataSet();
51  
52          final ITable expectedTable = dataSet.getTable("TEST_TABLE");
53          final ITable actualTable =
54                  dataSet.getTable("TEST_TABLE_WITH_WRONG_VALUE_ALL_ROWS");
55          final ValueComparer defaultValueComparer =
56                  ValueComparers.isActualEqualToExpected;
57          final ValueComparer valueComparer =
58                  ValueComparers.isActualNotEqualToExpected;
59          final Map<String, ValueComparer> columnValueComparers =
60                  new ColumnValueComparerMapBuilder()
61                          .add("COLUMN2", valueComparer).build();
62          assertDoesNotThrow(() -> sut.assertWithValueComparer(expectedTable,
63                  actualTable, defaultValueComparer, columnValueComparers));
64      }
65  }