You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by ka...@apache.org on 2012/10/31 16:13:23 UTC
svn commit: r1404190 - in /db/derby/code/trunk/java:
engine/org/apache/derby/iapi/types/SQLBoolean.java
testing/org/apache/derbyTesting/functionTests/tests/lang/BooleanValuesTest.java
Author: kahatlen
Date: Wed Oct 31 15:13:23 2012
New Revision: 1404190
URL: http://svn.apache.org/viewvc?rev=1404190&view=rev
Log:
DERBY-5971: Improve test coverage for SQLBoolean class
Remove two unused methods and add test cases for binary operators.
Modified:
db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLBoolean.java
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/BooleanValuesTest.java
Modified: db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLBoolean.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLBoolean.java?rev=1404190&r1=1404189&r2=1404190&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLBoolean.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/iapi/types/SQLBoolean.java Wed Oct 31 15:13:23 2012
@@ -1002,28 +1002,6 @@ public final class SQLBoolean
}
/**
- * Return a false truth value.
- *
- *
- * @return A SQLBoolean representing the FALSE truth value
- */
- public static SQLBoolean falseTruthValue()
- {
- return BOOLEAN_FALSE;
- }
-
- /**
- * Return a true truth value.
- *
- *
- * @return A SQLBoolean representing the TRUE truth value
- */
- public static SQLBoolean trueTruthValue()
- {
- return BOOLEAN_TRUE;
- }
-
- /**
* Determine whether this SQLBoolean contains the given boolean value.
*
* This method is used by generated code to determine when to do
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/BooleanValuesTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/BooleanValuesTest.java?rev=1404190&r1=1404189&r2=1404190&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/BooleanValuesTest.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/BooleanValuesTest.java Wed Oct 31 15:13:23 2012
@@ -1525,6 +1525,151 @@ public class BooleanValuesTest extends
goodStatement( conn, "drop table alumnus" );
goodStatement( conn, "drop table livenessChange" );
}
+
+ /**
+ * Test that the binary operators return the expected values for all
+ * possible combinations of operands.
+ */
+ public void test_22_binary_operators() throws SQLException {
+ setAutoCommit(false);
+
+ // Create a table with two columns containing all combinations of
+ // legal boolean values.
+ Statement s = createStatement();
+ s.execute("create table combos(b1 boolean, b2 boolean)");
+ assertUpdateCount(s, 9,
+ "insert into combos select * from "
+ + "(values true, false, cast(null as boolean)) v1, "
+ + "(values true, false, cast(null as boolean)) v2");
+
+ // Equals operator (=)
+ JDBC.assertFullResultSet(
+ s.executeQuery(
+ "select b1, b2, b1 = b2 from combos order by 1, 2"),
+ new String[][] {
+ { "false", "false", "true" },
+ { "false", "true" , "false" },
+ { "false", null , null },
+ { "true" , "false", "false" },
+ { "true" , "true" , "true" },
+ { "true" , null , null },
+ { null , "false", null },
+ { null , "true" , null },
+ { null , null , null },
+ });
+
+ // Not equals operator (<>)
+ JDBC.assertFullResultSet(
+ s.executeQuery(
+ "select b1, b2, b1 <> b2 from combos order by 1, 2"),
+ new String[][] {
+ { "false", "false", "false" },
+ { "false", "true" , "true" },
+ { "false", null , null },
+ { "true" , "false", "true" },
+ { "true" , "true" , "false" },
+ { "true" , null , null },
+ { null , "false", null },
+ { null , "true" , null },
+ { null , null , null },
+ });
+
+ // Less than operator (<)
+ JDBC.assertFullResultSet(
+ s.executeQuery(
+ "select b1, b2, b1 < b2 from combos order by 1, 2"),
+ new String[][] {
+ { "false", "false", "false" },
+ { "false", "true" , "true" },
+ { "false", null , null },
+ { "true" , "false", "false" },
+ { "true" , "true" , "false" },
+ { "true" , null , null },
+ { null , "false", null },
+ { null , "true" , null },
+ { null , null , null },
+ });
+
+ // Greater than operator (>)
+ JDBC.assertFullResultSet(
+ s.executeQuery(
+ "select b1, b2, b1 > b2 from combos order by 1, 2"),
+ new String[][] {
+ { "false", "false", "false" },
+ { "false", "true" , "false" },
+ { "false", null , null },
+ { "true" , "false", "true" },
+ { "true" , "true" , "false" },
+ { "true" , null , null },
+ { null , "false", null },
+ { null , "true" , null },
+ { null , null , null },
+ });
+
+ // Less than or equals operator (<=)
+ JDBC.assertFullResultSet(
+ s.executeQuery(
+ "select b1, b2, b1 <= b2 from combos order by 1, 2"),
+ new String[][] {
+ { "false", "false", "true" },
+ { "false", "true" , "true" },
+ { "false", null , null },
+ { "true" , "false", "false" },
+ { "true" , "true" , "true" },
+ { "true" , null , null },
+ { null , "false", null },
+ { null , "true" , null },
+ { null , null , null },
+ });
+
+ // Greater than or equals operator (>=)
+ JDBC.assertFullResultSet(
+ s.executeQuery(
+ "select b1, b2, b1 >= b2 from combos order by 1, 2"),
+ new String[][] {
+ { "false", "false", "true" },
+ { "false", "true" , "false" },
+ { "false", null , null },
+ { "true" , "false", "true" },
+ { "true" , "true" , "true" },
+ { "true" , null , null },
+ { null , "false", null },
+ { null , "true" , null },
+ { null , null , null },
+ });
+
+ // AND operator
+ JDBC.assertFullResultSet(
+ s.executeQuery(
+ "select b1, b2, b1 and b2 from combos order by 1, 2"),
+ new String[][] {
+ { "false", "false", "false" },
+ { "false", "true" , "false" },
+ { "false", null , "false" },
+ { "true" , "false", "false" },
+ { "true" , "true" , "true" },
+ { "true" , null , null },
+ { null , "false", "false" },
+ { null , "true" , null },
+ { null , null , null },
+ });
+
+ // OR operator
+ JDBC.assertFullResultSet(
+ s.executeQuery(
+ "select b1, b2, (b1 or b2) from combos order by 1, 2"),
+ new String[][] {
+ { "false", "false", "false" },
+ { "false", "true" , "true" },
+ { "false", null , null },
+ { "true" , "false", "true" },
+ { "true" , "true" , "true" },
+ { "true" , null , "true" },
+ { null , "false", null },
+ { null , "true" , "true" },
+ { null , null , null },
+ });
+ }
/**
* <p>