Assertion.java

  1. /*
  2.  *
  3.  * The DbUnit Database Testing Framework
  4.  * Copyright (C)2002-2004, DbUnit.org
  5.  *
  6.  * This library is free software; you can redistribute it and/or
  7.  * modify it under the terms of the GNU Lesser General Public
  8.  * License as published by the Free Software Foundation; either
  9.  * version 2.1 of the License, or (at your option) any later version.
  10.  *
  11.  * This library is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14.  * Lesser General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU Lesser General Public
  17.  * License along with this library; if not, write to the Free Software
  18.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  19.  *
  20.  */

  21. package org.dbunit;

  22. import java.sql.SQLException;
  23. import java.util.Map;

  24. import org.dbunit.assertion.DbUnitAssert;
  25. import org.dbunit.assertion.DbUnitValueComparerAssert;
  26. import org.dbunit.assertion.FailureHandler;
  27. import org.dbunit.assertion.comparer.value.ValueComparer;
  28. import org.dbunit.database.IDatabaseConnection;
  29. import org.dbunit.dataset.Column;
  30. import org.dbunit.dataset.IDataSet;
  31. import org.dbunit.dataset.ITable;

  32. /**
  33.  * Provides static methods for the most common DbUnit assertion needs.
  34.  *
  35.  * Although the methods are static, they rely on a {@link DbUnitAssert} instance
  36.  * to do the work. So, if you need to customize this class behavior, you can
  37.  * create your own {@link DbUnitAssert} extension.
  38.  *
  39.  * @author Manuel Laflamme
  40.  * @author Felipe Leme (dbunit@felipeal.net)
  41.  * @author Last changed by: $Author$
  42.  * @version $Revision$ $Date$
  43.  * @since 1.3 (Mar 22, 2002)
  44.  */
  45. public class Assertion
  46. {
  47.     /** Assert using equals comparisons. */
  48.     private static final DbUnitAssert EQUALS_INSTANCE = new DbUnitAssert();

  49.     /** Assert using compare comparisons. @since 2.6.0 */
  50.     private static final DbUnitValueComparerAssert VALUE_COMPARE_INSTANCE =
  51.             new DbUnitValueComparerAssert();

  52.     private Assertion()
  53.     {
  54.         throw new UnsupportedOperationException(
  55.                 "this class has only static methods");
  56.     }

  57.     /**
  58.      * @see DbUnitAssert#assertEqualsIgnoreCols(IDataSet, IDataSet, String,
  59.      *      String[])
  60.      */
  61.     public static void assertEqualsIgnoreCols(final IDataSet expectedDataset,
  62.             final IDataSet actualDataset, final String tableName,
  63.             final String[] ignoreCols) throws DatabaseUnitException
  64.     {
  65.         EQUALS_INSTANCE.assertEqualsIgnoreCols(expectedDataset, actualDataset,
  66.                 tableName, ignoreCols);
  67.     }

  68.     /**
  69.      * @see DbUnitAssert#assertEqualsIgnoreCols(ITable, ITable, String[])
  70.      */
  71.     public static void assertEqualsIgnoreCols(final ITable expectedTable,
  72.             final ITable actualTable, final String[] ignoreCols)
  73.             throws DatabaseUnitException
  74.     {
  75.         EQUALS_INSTANCE.assertEqualsIgnoreCols(expectedTable, actualTable,
  76.                 ignoreCols);
  77.     }

  78.     /**
  79.      * @see DbUnitAssert#assertEqualsByQuery(IDataSet, IDatabaseConnection,
  80.      *      String, String, String[])
  81.      */
  82.     public static void assertEqualsByQuery(final IDataSet expectedDataset,
  83.             final IDatabaseConnection connection, final String sqlQuery,
  84.             final String tableName, final String[] ignoreCols)
  85.             throws DatabaseUnitException, SQLException
  86.     {
  87.         EQUALS_INSTANCE.assertEqualsByQuery(expectedDataset, connection,
  88.                 sqlQuery, tableName, ignoreCols);
  89.     }

  90.     /**
  91.      * @see DbUnitAssert#assertEqualsByQuery(ITable, IDatabaseConnection,
  92.      *      String, String, String[])
  93.      */
  94.     public static void assertEqualsByQuery(final ITable expectedTable,
  95.             final IDatabaseConnection connection, final String tableName,
  96.             final String sqlQuery, final String[] ignoreCols)
  97.             throws DatabaseUnitException, SQLException
  98.     {
  99.         EQUALS_INSTANCE.assertEqualsByQuery(expectedTable, connection,
  100.                 tableName, sqlQuery, ignoreCols);
  101.     }

  102.     /**
  103.      * @see DbUnitAssert#assertEquals(IDataSet, IDataSet)
  104.      */
  105.     public static void assertEquals(final IDataSet expectedDataSet,
  106.             final IDataSet actualDataSet) throws DatabaseUnitException
  107.     {
  108.         EQUALS_INSTANCE.assertEquals(expectedDataSet, actualDataSet);
  109.     }

  110.     /**
  111.      * @see DbUnitAssert#assertEquals(IDataSet, IDataSet, FailureHandler)
  112.      * @since 2.4
  113.      */
  114.     public static void assertEquals(final IDataSet expectedDataSet,
  115.             final IDataSet actualDataSet, final FailureHandler failureHandler)
  116.             throws DatabaseUnitException
  117.     {
  118.         EQUALS_INSTANCE.assertEquals(expectedDataSet, actualDataSet,
  119.                 failureHandler);
  120.     }

  121.     /**
  122.      * @see DbUnitAssert#assertEquals(ITable, ITable)
  123.      */
  124.     public static void assertEquals(final ITable expectedTable,
  125.             final ITable actualTable) throws DatabaseUnitException
  126.     {
  127.         EQUALS_INSTANCE.assertEquals(expectedTable, actualTable);
  128.     }

  129.     /**
  130.      * @see DbUnitAssert#assertEquals(ITable, ITable, Column[])
  131.      */
  132.     public static void assertEquals(final ITable expectedTable,
  133.             final ITable actualTable, final Column[] additionalColumnInfo)
  134.             throws DatabaseUnitException
  135.     {
  136.         EQUALS_INSTANCE.assertEquals(expectedTable, actualTable,
  137.                 additionalColumnInfo);
  138.     }

  139.     /**
  140.      * @see DbUnitAssert#assertEquals(ITable, ITable, FailureHandler)
  141.      * @since 2.4
  142.      */
  143.     public static void assertEquals(final ITable expectedTable,
  144.             final ITable actualTable, final FailureHandler failureHandler)
  145.             throws DatabaseUnitException
  146.     {
  147.         EQUALS_INSTANCE.assertEquals(expectedTable, actualTable,
  148.                 failureHandler);
  149.     }

  150.     /**
  151.      * @see DbUnitValueComparerAssert#assertWithValueComparer(IDataSet,
  152.      *      IDataSet, ValueComparer, Map)
  153.      * @since 2.6.0
  154.      */
  155.     public static void assertWithValueComparer(final IDataSet expectedDataSet,
  156.             final IDataSet actualDataSet,
  157.             final ValueComparer defaultValueComparer,
  158.             final Map<String, Map<String, ValueComparer>> tableColumnValueComparers)
  159.             throws DatabaseUnitException
  160.     {
  161.         VALUE_COMPARE_INSTANCE.assertWithValueComparer(expectedDataSet,
  162.                 actualDataSet, defaultValueComparer, tableColumnValueComparers);
  163.     }

  164.     /**
  165.      * @see DbUnitValueComparerAssert#assertWithValueComparer(ITable, ITable,
  166.      *      ValueComparer, Map)
  167.      * @since 2.6.0
  168.      */
  169.     public static void assertWithValueComparer(final ITable expectedTable,
  170.             final ITable actualTable, final ValueComparer defaultValueComparer,
  171.             final Map<String, ValueComparer> columnValueComparers)
  172.             throws DatabaseUnitException
  173.     {
  174.         VALUE_COMPARE_INSTANCE.assertWithValueComparer(expectedTable,
  175.                 actualTable, defaultValueComparer, columnValueComparers);
  176.     }

  177.     /**
  178.      * @see DbUnitValueComparerAssert#assertWithValueComparer(IDataSet,
  179.      *      IDataSet, FailureHandler, ValueComparer, Map)
  180.      * @since 2.6.0
  181.      */
  182.     public static void assertWithValueComparer(final IDataSet expectedDataSet,
  183.             final IDataSet actualDataSet, final FailureHandler failureHandler,
  184.             final ValueComparer defaultValueComparer,
  185.             final Map<String, Map<String, ValueComparer>> tableColumnValueComparers)
  186.             throws DatabaseUnitException
  187.     {
  188.         VALUE_COMPARE_INSTANCE.assertWithValueComparer(expectedDataSet,
  189.                 actualDataSet, failureHandler, defaultValueComparer,
  190.                 tableColumnValueComparers);
  191.     }

  192.     /**
  193.      * @see DbUnitValueComparerAssert#assertWithValueComparer(ITable, ITable,
  194.      *      Column[], ValueComparer, Map)
  195.      * @since 2.6.0
  196.      */
  197.     public static void assertWithValueComparer(final ITable expectedTable,
  198.             final ITable actualTable, final Column[] additionalColumnInfo,
  199.             final ValueComparer defaultValueComparer,
  200.             final Map<String, ValueComparer> columnValueComparers)
  201.             throws DatabaseUnitException
  202.     {
  203.         VALUE_COMPARE_INSTANCE.assertWithValueComparer(expectedTable,
  204.                 actualTable, additionalColumnInfo, defaultValueComparer,
  205.                 columnValueComparers);
  206.     }

  207.     /**
  208.      * @see DbUnitValueComparerAssert#assertWithValueComparer(ITable, ITable,
  209.      *      FailureHandler, ValueComparer, Map)
  210.      * @since 2.6.0
  211.      */
  212.     public static void assertWithValueComparer(final ITable expectedTable,
  213.             final ITable actualTable, final FailureHandler failureHandler,
  214.             final ValueComparer defaultValueComparer,
  215.             final Map<String, ValueComparer> columnValueComparers)
  216.             throws DatabaseUnitException
  217.     {
  218.         VALUE_COMPARE_INSTANCE.assertWithValueComparer(expectedTable,
  219.                 actualTable, failureHandler, defaultValueComparer,
  220.                 columnValueComparers);
  221.     }

  222.     public static DbUnitAssert getEqualsInstance()
  223.     {
  224.         return EQUALS_INSTANCE;
  225.     }

  226.     public static DbUnitValueComparerAssert getValueCompareInstance()
  227.     {
  228.         return VALUE_COMPARE_INSTANCE;
  229.     }
  230. }