Package org.apache.torque.criteria

## Class CriteriaTest

- java.lang.Object
- - org.apache.torque.BaseTestCase
  - - org.apache.torque.criteria.CriteriaTest

-     public class CriteriaTest
      extends BaseTestCase

  Test class for Criteria.
  Version:
    $Id: CriteriaTest.java 1867515 2019-09-25 15:02:03Z gk $
  Author:
    Christopher Elkins, Sam Joseph, Scott Eade

- - ### Field Summary

    - ### Fields inherited from class org.apache.torque.BaseTestCase

      `CONFIG_FILE, database, databaseMap, databaseMysql, databaseOracle, databasePostgresql, integerColumnMap, stringColumnMap, stringColumnMap2, stringColumnMap3, tableMap`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CriteriaTest()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `setUp()` | Initializes the criteria.
    `void` | `testAndCurrentDate()` |
    `void` | `testAndCurrentTime()` |
    `void` | `testAndDate()` | Testcase for andDate().
    `void` | `testAndString()` | Test where condition with several ANDs compairing against Strings.
    `void` | `testBetweenCriterion()` | Tests <= and =>.
    `void` | `testBooleanMysql()` | Test that true is evaluated correctly in Mysql.
    `void` | `testBooleanPostgresql()` | Test that true is evaluated correctly in Postgresql.
    `void` | `testClone()` | Test that cloning works.
    `void` | `testCriteriaCriterionGetsCopiedOr()` | Tests that a criterion is copied when being added as top level criterion using where (also tests and).
    `void` | `testCriteriaCriterionGetsCopiedWhere()` | Tests that a criterion is copied when being added as top level criterion using where (also tests and).
    `void` | `testCriteriaOffsetLimit()` |
    `void` | `testCriteriaTopLevelCriterionGetsCopiedOr()` | Tests that a criterion is copied when being added as top level criterion using where (also tests and).
    `void` | `testCriteriaTopLevelCriterionGetsCopiedWhere()` | Tests that a criterion is copied when being added as top level criterion using where (also tests and).
    `void` | `testCriteriaToStringLimit()` |
    `void` | `testCriteriaWithOffsetNoLimitMysql()` | TORQUE-87
    `void` | `testCriteriaWithOffsetNoLimitPostgresql()` |
    `void` | `testCriterionDoesNotGetChangedByCriteriaAnd()` | Tests that a criterion does not get changed if it is added as root criterion to a criteria which is afterwards changed.
    `void` | `testCriterionDoesNotGetChangedByCriteriaOr()` | Tests that a criterion does not get changed if it is added as root criterion to a criteria which is afterwards changed.
    `void` | `testCriterionIgnoreCase()` | Test Criterion.setIgnoreCase().
    `void` | `testDateWhere()` | testcase for where(Date)
    `void` | `testEquals()` | Test that `Criteria.equals(Object)` works correctly for a simple Criteria object.
    `void` | `testLikeWithoutWildcards()` | This test case verifies if the Criteria.LIKE comparison type will get replaced through Criteria.EQUAL if there are no SQL wildcards in the given value.
    `void` | `testNestedCriterionComparisonEqual()` | Test that nesting Criterions works for equals comparison.
    `void` | `testNestedCriterionComparisonLessGreaterThan()` | Test that nesting Criterions works for other comparisons than equal.
    `void` | `testNotLikeWithoutWildcards()` | This test case verifies if the Criteria.NOT_LIKE comparison type will get replaced through Criteria.NOT_EQUAL if there are no SQL wildcards in the given value.
    `void` | `testOrderBy()` | Checks whether orderBy works.
    `void` | `testOrUnaryOperator()` | Tests that unary operators as rValue are interpreted as comparison operator in the two-arg or method.
    `void` | `testSerialization()` | Test that serialization works.
    `void` | `testWhereDate()` | Testcase for whereDate()
    `void` | `testWhereNotEqual()` | Test basic where condition on a string with a non-equal.
    `void` | `testWhereString()` | Test basic where condition on a string.
    `void` | `testWhereStringReversed()` | Test basic where condition on a string.
    `void` | `testWhereUnaryOperator()` | Tests that unary operators as rValue are interpreted as comparison operator in the two-arg where method.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CriteriaTest

          public CriteriaTest()

  - ### Method Detail

    - #### setUp

          @BeforeEach
          public void setUp()
                     throws Exception

      Initializes the criteria.
      Overrides:
        `setUp` in class `BaseTestCase`
      Throws:
        `Exception` - if initialization fails.

    - #### testWhereString

          @Test
          public void testWhereString()

      Test basic where condition on a string.

    - #### testWhereStringReversed

          @Test
          public void testWhereStringReversed()

      Test basic where condition on a string. The condition is reversed, i.e the String preceeds the column.

    - #### testWhereNotEqual

          @Test
          public void testWhereNotEqual()

      Test basic where condition on a string with a non-equal. comparison operator.

    - #### testWhereUnaryOperator

          @Test
          public void testWhereUnaryOperator()

      Tests that unary operators as rValue are interpreted as comparison operator in the two-arg where method.

    - #### testOrUnaryOperator

          @Test
          public void testOrUnaryOperator()

      Tests that unary operators as rValue are interpreted as comparison operator in the two-arg or method.

    - #### testAndString

          @Test
          public void testAndString()

      Test where condition with several ANDs compairing against Strings.

    - #### testCriteriaTopLevelCriterionGetsCopiedWhere

          @Test
          public void testCriteriaTopLevelCriterionGetsCopiedWhere()

      Tests that a criterion is copied when being added as top level criterion using where (also tests and). checks TORQUE-243.

    - #### testCriteriaTopLevelCriterionGetsCopiedOr

          @Test
          public void testCriteriaTopLevelCriterionGetsCopiedOr()

      Tests that a criterion is copied when being added as top level criterion using where (also tests and). checks TORQUE-243.

    - #### testCriteriaCriterionGetsCopiedWhere

          @Test
          public void testCriteriaCriterionGetsCopiedWhere()

      Tests that a criterion is copied when being added as top level criterion using where (also tests and). checks TORQUE-243.

    - #### testCriteriaCriterionGetsCopiedOr

          @Test
          public void testCriteriaCriterionGetsCopiedOr()

      Tests that a criterion is copied when being added as top level criterion using where (also tests and). checks TORQUE-243.

    - #### testCriterionDoesNotGetChangedByCriteriaOr

          @Test
          public void testCriterionDoesNotGetChangedByCriteriaOr()

      Tests that a criterion does not get changed if it is added as root criterion to a criteria which is afterwards changed. checks TORQUE-243.

    - #### testCriterionDoesNotGetChangedByCriteriaAnd

          @Test
          public void testCriterionDoesNotGetChangedByCriteriaAnd()

      Tests that a criterion does not get changed if it is added as root criterion to a criteria which is afterwards changed. checks TORQUE-243.

    - #### testNestedCriterionComparisonEqual

          @Test
          public void testNestedCriterionComparisonEqual()
                                                  throws TorqueException

      Test that nesting Criterions works for equals comparison.
      Throws:
        `TorqueException`

    - #### testNestedCriterionComparisonLessGreaterThan

          @Test
          public void testNestedCriterionComparisonLessGreaterThan()
                                                            throws TorqueException

      Test that nesting Criterions works for other comparisons than equal.
      Throws:
        `TorqueException` - if fails

    - #### testBetweenCriterion

          @Test
          public void testBetweenCriterion()
                                    throws TorqueException

      Tests <= and =>.
      Throws:
        `TorqueException` - if fail

    - #### testCriterionIgnoreCase

          @Test
          public void testCriterionIgnoreCase()
                                       throws TorqueException

      Test Criterion.setIgnoreCase().
      Throws:
        `TorqueException`

    - #### testBooleanMysql

          @Test
          public void testBooleanMysql()
                                throws TorqueException

      Test that true is evaluated correctly in Mysql.
      Throws:
        `TorqueException`

    - #### testBooleanPostgresql

          @Test
          public void testBooleanPostgresql()
                                     throws TorqueException

      Test that true is evaluated correctly in Postgresql.
      Throws:
        `TorqueException`

    - #### testWhereDate

          @Test
          public void testWhereDate()
                             throws TorqueException

      Testcase for whereDate()
      Throws:
        `TorqueException`

    - #### testAndDate

          @Test
          public void testAndDate()
                           throws TorqueException

      Testcase for andDate().
      Throws:
        `TorqueException`

    - #### testDateWhere

          @Test
          public void testDateWhere()
                             throws TorqueException

      testcase for where(Date)
      Throws:
        `TorqueException`

    - #### testAndCurrentDate

          @Test
          public void testAndCurrentDate()
                                  throws TorqueException

      Throws:
        `TorqueException`

    - #### testAndCurrentTime

          @Test
          public void testAndCurrentTime()
                                  throws TorqueException

      Throws:
        `TorqueException`

    - #### testCriteriaOffsetLimit

          @Test
          public void testCriteriaOffsetLimit()
                                       throws TorqueException

      Throws:
        `TorqueException`

    - #### testCriteriaWithOffsetNoLimitPostgresql

          @Test
          public void testCriteriaWithOffsetNoLimitPostgresql()
                                                       throws TorqueException

      Throws:
        `TorqueException`

    - #### testCriteriaWithOffsetNoLimitMysql

          @Test
          public void testCriteriaWithOffsetNoLimitMysql()
                                                  throws TorqueException

      TORQUE-87
      Throws:
        `TorqueException`

    - #### testCriteriaToStringLimit

          @Test
          public void testCriteriaToStringLimit()
                                         throws TorqueException

      Throws:
        `TorqueException`

    - #### testLikeWithoutWildcards

          @Test
          public void testLikeWithoutWildcards()
                                        throws TorqueException

      This test case verifies if the Criteria.LIKE comparison type will get replaced through Criteria.EQUAL if there are no SQL wildcards in the given value.
      Throws:
        `TorqueException`

    - #### testNotLikeWithoutWildcards

          @Test
          public void testNotLikeWithoutWildcards()

      This test case verifies if the Criteria.NOT_LIKE comparison type will get replaced through Criteria.NOT_EQUAL if there are no SQL wildcards in the given value.

    - #### testSerialization

          @Test
          public void testSerialization()

      Test that serialization works.

    - #### testClone

          @Test
          public void testClone()

      Test that cloning works.

    - #### testEquals

          @Test
          public void testEquals()
                          throws TorqueException

      Test that `Criteria.equals(Object)` works correctly for a simple Criteria object.
      Throws:
        `TorqueException`

    - #### testOrderBy

          @Test
          public void testOrderBy()
                           throws TorqueException

      Checks whether orderBy works.
      Throws:
        `TorqueException`