? crap Index: org/postgresql/test/jdbc2/ResultSetTest.java =================================================================== RCS file: /projects/cvsroot/pgsql-server/src/interfaces/jdbc/org/postgresql/test/jdbc2/ResultSetTest.java,v retrieving revision 1.7 diff -c -p -r1.7 ResultSetTest.java *** org/postgresql/test/jdbc2/ResultSetTest.java 29 May 2003 04:39:48 -0000 1.7 --- org/postgresql/test/jdbc2/ResultSetTest.java 4 Aug 2003 18:42:28 -0000 *************** import org.postgresql.test.TestUtil; *** 4,9 **** --- 4,10 ---- import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; + import java.sql.SQLException; import junit.framework.TestCase; *************** public class ResultSetTest extends TestC *** 33,44 **** --- 34,60 ---- stmt.executeUpdate("INSERT INTO testrs VALUES (6)"); stmt.executeUpdate("INSERT INTO testrs VALUES (9)"); + TestUtil.createTable(con, "testbool", "a boolean"); + + TestUtil.createTable(con, "testboolstring", "a varchar(30)"); + + stmt.executeUpdate("INSERT INTO testboolstring VALUES('true')"); + stmt.executeUpdate("INSERT INTO testboolstring VALUES('false')"); + stmt.executeUpdate("INSERT INTO testboolstring VALUES('t')"); + stmt.executeUpdate("INSERT INTO testboolstring VALUES('f')"); + stmt.executeUpdate("INSERT INTO testboolstring VALUES('1.0')"); + stmt.executeUpdate("INSERT INTO testboolstring VALUES('0.0')"); + stmt.executeUpdate("INSERT INTO testboolstring VALUES('TRUE')"); + stmt.executeUpdate("INSERT INTO testboolstring VALUES('this')"); + stmt.close(); } protected void tearDown() throws Exception { TestUtil.dropTable(con, "testrs"); + TestUtil.dropTable(con, "testbool"); + TestUtil.dropTable(con, "testboolstring"); TestUtil.closeDB(con); } *************** public class ResultSetTest extends TestC *** 84,88 **** --- 100,148 ---- fail( ex.getMessage() ); } + } + + public void testSetBoolean() + { + try + { + java.sql.PreparedStatement pstmt = con.prepareStatement("insert into testbool values (?)"); + + pstmt.setObject(1, new Float(0), java.sql.Types.BIT); + pstmt.executeUpdate(); + + pstmt.setObject(1, new Float(1), java.sql.Types.BIT); + pstmt.executeUpdate(); + + pstmt.setObject(1, "This is not a boolean", java.sql.Types.BIT); + pstmt.executeUpdate(); + + pstmt.setObject(1, "True", java.sql.Types.BIT); + pstmt.executeUpdate(); + + ResultSet rs = con.createStatement().executeQuery("select * from testbool"); + + for (int i = 0;i<2; i++) + { + assertTrue(rs.next()); + assertEquals(false, rs.getBoolean(1)); + assertTrue(rs.next()); + assertEquals(true, rs.getBoolean(1)); + } + + rs = con.createStatement().executeQuery("select * from testboolstring"); + + for (int i = 0;i<4;i++) + { + assertTrue(rs.next()); + assertEquals(true, rs.getBoolean(1)); + assertTrue(rs.next()); + assertEquals(false, rs.getBoolean(1)); + } + } + catch (SQLException ex) + { + fail(ex.getMessage()); + } } }