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 }