/** * @tests {@link javax.sql.rowset.serial.SQLInputImpl#readObject()} */ public void testReadObject() throws SQLException { Object[] structAttributes = { "hello", Boolean.TRUE, "abc", Integer.valueOf(99) }; Struct struct = new MockStruct(structAttributes, "harmonytests.MockSQLData"); Struct struct2 = new MockStruct(structAttributes, "not stored name"); HashMap<String, Class<?>> types = new HashMap<String, Class<?>>(); types.put("harmonytests.MockSQLData", MockSQLData.class); Object[] attributes = new Object[] { struct, struct2, null, "xyz" }; SQLInputImpl impl = new SQLInputImpl(attributes, types); Object obj = impl.readObject(); assertTrue(obj instanceof MockSQLData); MockSQLData sqlData = (MockSQLData) obj; assertEquals(structAttributes[0], sqlData.firstAttribute); assertEquals(structAttributes[1], sqlData.secondAttribute); assertEquals(structAttributes[2], sqlData.thirdAttribute); assertEquals(structAttributes[3], sqlData.fourthAttribute); Object obj2 = impl.readObject(); assertEquals(struct2, obj2); Object obj3 = impl.readObject(); assertNull(obj3); Object obj4 = impl.readObject(); assertEquals(attributes[3], obj4); }
/** * @tests {@link javax.sql.rowset.serial.SQLInputImpl#wasNull()} * */ public void testWasNull() throws SQLException { Object[] attributes = new Object[] { null, "hello" }; SQLInputImpl impl = new SQLInputImpl(attributes, new HashMap<String, Class<?>>()); assertFalse(impl.wasNull()); assertEquals(null, impl.readString()); assertTrue(impl.wasNull()); assertEquals("hello", impl.readString()); assertFalse(impl.wasNull()); try { impl.readString(); fail("should throw SQLException"); } catch (SQLException e) { // expected } assertFalse(impl.wasNull()); assertFalse(impl.wasNull()); }
/** * @tests {@link javax.sql.rowset.serial.SQLInputImpl#wasNull()} */ public void testWasNull() throws SQLException { Object[] attributes = new Object[] { null, "hello" }; SQLInputImpl impl = new SQLInputImpl(attributes, new HashMap<String, Class<?>>()); assertFalse(impl.wasNull()); assertEquals(null, impl.readString()); assertTrue(impl.wasNull()); assertEquals("hello", impl.readString()); assertFalse(impl.wasNull()); try { impl.readString(); fail("should throw SQLException"); } catch (SQLException e) { // expected } assertFalse(impl.wasNull()); assertFalse(impl.wasNull()); }
@Test() public void test03() throws Exception { impl.readSQL(new SQLInputImpl(typeValues, map), "misc"); impl.writeSQL(outImpl); assertTrue(Arrays.equals(results.toArray(), typeValues)); // Null out a field and make sure the arrays do not match typeValues[2] = null; assertFalse(Arrays.equals(results.toArray(), typeValues)); }
@Test() public void test03() throws Exception { impl.readSQL(new SQLInputImpl(typeValues, map), "misc"); assertTrue(Arrays.equals(impl.toArray(), typeValues)); // Null out a field and make sure the arrays do not match typeValues[2] = null; assertFalse(Arrays.equals(impl.toArray(), typeValues)); }
@Test() public void test04() throws Exception { Object[] values = {"Hello", null, 1}; SQLInputImpl sqli = new SQLInputImpl(values, map); String s = sqli.readString(); assertFalse(sqli.wasNull()); s = sqli.readString(); assertTrue(sqli.wasNull()); int i = sqli.readInt(); assertFalse(sqli.wasNull()); }
@Test() public void test05() throws Exception { Object[] values = {hero}; SQLInputImpl sqli = new SQLInputImpl(values, map); Object o = sqli.readObject(); assertTrue(hero.equals(o)); }
@Test(enabled = true) public void test06() throws Exception { Object[] coffees = new Object[]{"Espresso", "Colombian", "French Roast", "Cappuccino"}; Array a = new StubArray("VARCHAR", coffees); Object[] values = {a}; SQLInputImpl sqli = new SQLInputImpl(values, map); Array a2 = sqli.readArray(); assertTrue(Arrays.equals((Object[]) a2.getArray(), (Object[]) a.getArray())); assertTrue(a.getBaseTypeName().equals(a2.getBaseTypeName())); }
@Test(enabled = true) public void test07() throws Exception { Blob b = new StubBlob(); Object[] values = {b}; SQLInputImpl sqli = new SQLInputImpl(values, map); Blob b2 = sqli.readBlob(); assertTrue(Arrays.equals( b.getBytes(1, (int) b.length()), b2.getBytes(1, (int) b2.length()))); }
@Test(enabled = true) public void test08() throws Exception { Clob c = new StubClob(); Object[] values = {c}; SQLInputImpl sqli = new SQLInputImpl(values, map); Clob c2 = sqli.readClob(); assertTrue(c.getSubString(1, (int) c.length()).equals(c2.getSubString(1, (int) c2.length()))); }
@Test(enabled = true) public void test09() throws Exception { Ref ref = new StubRef(sqlType, hero); Object[] values = {ref}; SQLInputImpl sqli = new SQLInputImpl(values, map); Ref ref2 = sqli.readRef(); assertTrue(ref.getObject().equals(ref2.getObject())); assertTrue(ref.getBaseTypeName().equals(ref2.getBaseTypeName())); }
@Test(enabled = true) public void test10() throws Exception { URL u = new URL("http://www.oracle.com/");; Object[] values = {u}; SQLInputImpl sqli = new SQLInputImpl(values, map); URL u2 = sqli.readURL(); assertTrue(u2.equals(u)); assertTrue(u2.sameFile(u)); }
@Test() public void test11() throws Exception { Object[] attributes = new Object[]{"Bruce", "Wayne", 1939, "Batman"}; map.put(sqlType, Class.forName("util.SuperHero")); Struct struct = new StubStruct(sqlType, attributes); Object[] values = {struct}; SQLInputImpl sqli = new SQLInputImpl(values, map); Object o = sqli.readObject(); assertTrue(hero.equals(o)); }