org.apache.derbyTesting.functionTests.tests.jdbcapi
Class ClobUpdatableReaderTest

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by org.apache.derbyTesting.junit.BaseTestCase
              extended by org.apache.derbyTesting.junit.BaseJDBCTestCase
                  extended by org.apache.derbyTesting.functionTests.tests.jdbcapi.ClobUpdatableReaderTest
All Implemented Interfaces:
junit.framework.Test

public class ClobUpdatableReaderTest
extends BaseJDBCTestCase

Test class to test UpdateableReader for Clob in embedded driver.


Field Summary
private  java.lang.String dummy
           
 
Fields inherited from class org.apache.derbyTesting.junit.BaseTestCase
DEFAULT_DB_DIR, DERBY_LOG, ERRORSTACKTRACEFILE
 
Constructor Summary
ClobUpdatableReaderTest(java.lang.String name)
           
 
Method Summary
private  int assertCorrectChar(int prevChar, int nextChar)
          Asserts that the two specified characters follow each other in the modern latin lowercase alphabet.
private  java.lang.String getUnicodeString()
          Generates a (static) string containing various Unicode characters.
 void setUp()
          Setup the test.
static junit.framework.Test suite()
           
protected  void tearDown()
          Cleans up the database.
 void testMultiplexedOperationProblem()
          Tests that the Clob can handle multiple streams and the length call multiplexed.
 void testUpdateableReader()
          Tests updates on reader.
 void testUpdateableStoreReader()
          Test updating a large clob
 
Methods inherited from class org.apache.derbyTesting.junit.BaseJDBCTestCase
assertCallError, assertCheckTable, assertCompileError, assertEquals, assertEquals, assertEquals, assertEquivalentDataType, assertGetIntError, assertNextError, assertPreparedStatementError, assertSQLExceptionEquals, assertSQLState, assertSQLState, assertStatementError, assertStatementError, assertStatementError, assertStatementError, assertTableRowCount, assertUpdateCount, assertUpdateCount, checkAllConsistency, checkEstimatedRowCount, commit, createStatement, createStatement, createStatement, dropTable, dropTable, getConnection, getDatabaseProperty, getLastSQLException, initializeConnection, openConnection, openDefaultConnection, openDefaultConnection, openUserConnection, prepareCall, prepareCall, prepareCall, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, prepareStatement, rollback, runScript, runScript, runSQLCommands, setAutoCommit, usingDB2Client, usingDerbyNetClient, usingEmbedded
 
Methods inherited from class org.apache.derbyTesting.junit.BaseTestCase
alarm, assertEquals, assertEquals, assertEquals, assertExecJavaCmdAsExpected, assertSecurityManager, assertThrowableEquals, execJavaCmd, fail, getFailureFolder, getJavaExecutableName, getSystemProperty, getTestConfiguration, getTestResource, openTestResource, println, printStackTrace, readProcessOutput, removeDirectory, removeDirectory, removeSystemProperty, runBare, setSystemProperty, traceit
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runTest, setName, toString
 
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

dummy

private final java.lang.String dummy
See Also:
Constant Field Values
Constructor Detail

ClobUpdatableReaderTest

public ClobUpdatableReaderTest(java.lang.String name)
Method Detail

testUpdateableStoreReader

public void testUpdateableStoreReader()
                               throws java.lang.Exception
Test updating a large clob

Throws:
java.lang.Exception

testUpdateableReader

public void testUpdateableReader()
                          throws java.lang.Exception
Tests updates on reader.

Throws:
java.lang.Exception

testMultiplexedOperationProblem

public void testMultiplexedOperationProblem()
                                     throws java.io.IOException,
                                            java.sql.SQLException
Tests that the Clob can handle multiple streams and the length call multiplexed.

This test was written after bug DERBY-2806 was reported, where getting the length of the Clob after fetching a stream from it would exhaust the stream and cause the next read to return -1.

The test is written to work on a Clob that operates on streams from the store, which currently means that it must be over a certain size and that no modifying methods can be called on it.

Throws:
java.io.IOException
java.sql.SQLException

assertCorrectChar

private int assertCorrectChar(int prevChar,
                              int nextChar)
                       throws java.io.IOException
Asserts that the two specified characters follow each other in the modern latin lowercase alphabet.

Throws:
java.io.IOException

getUnicodeString

private java.lang.String getUnicodeString()
Generates a (static) string containing various Unicode characters.

Returns:
a string with ASCII and non-ASCII characters

setUp

public void setUp()
           throws java.lang.Exception
Setup the test.

Overrides:
setUp in class junit.framework.TestCase
Throws:
java.sql.SQLException - if database access fails
java.lang.Exception

suite

public static junit.framework.Test suite()

tearDown

protected void tearDown()
                 throws java.lang.Exception
Cleans up the database.

Overrides:
tearDown in class BaseJDBCTestCase
Throws:
java.lang.Exception

Built on Thu 2009-11-26 18:42:53-0800, from revision 884739

Apache Derby V10.6 Internals - Copyright © 2004,2008 The Apache Software Foundation. All Rights Reserved.