All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mockrunner.test.jdbc.PolyResultSetTest Maven / Gradle / Ivy

package com.mockrunner.test.jdbc;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.mockrunner.mock.jdbc.MockResultSet;
import com.mockrunner.mock.jdbc.PolyResultSet;

import junit.framework.TestCase;

public class PolyResultSetTest extends TestCase
{
    private List getTestResultSetList()
    {
        List list = new ArrayList();
        MockResultSet resultSet1 = new MockResultSet("id1");
        resultSet1.addRow(new String[] {"id1row1column1", "id1row1column2"});
        resultSet1.addRow(new String[] {"id1row2column1", "id1row2column2"});
        MockResultSet resultSet2 = new MockResultSet("id2");
        resultSet1.addRow(new String[] {"id2row1column1", "id2row1column2"});
        MockResultSet resultSet3 = new MockResultSet("id3");
        resultSet1.addRow(new String[] {"id3row1column1", "id3row1column2"});
        resultSet1.addRow(new String[] {"id3row2column1", "id3row2column2"});
        resultSet1.addRow(new String[] {"id3row3column1", "id3row3column2"});
        list.add(resultSet1);
        list.add(resultSet2);
        list.add(resultSet3);
        return list;
    }
    
    public void testGetUnderlyingResultSetList()
    {
        PolyResultSet resultSet = new PolyResultSet(getTestResultSetList());
        List resultSetList = resultSet.getUnderlyingResultSetList();
        assertEquals(3, resultSetList.size());
        MockResultSet resultSet1 = (MockResultSet)resultSetList.get(0);
        MockResultSet resultSet2 = (MockResultSet)resultSetList.get(1);
        MockResultSet resultSet3 = (MockResultSet)resultSetList.get(2);
        assertEquals("id1", resultSet1.getId());
        assertEquals("id2", resultSet2.getId());
        assertEquals("id3", resultSet3.getId());
    }
    
    public void testNext() throws Exception
    {
        PolyResultSet resultSet = new PolyResultSet(new ArrayList());
        assertFalse(resultSet.next());
        assertFalse(resultSet.next());
        resultSet = new PolyResultSet(getTestResultSetList());
        assertTrue(resultSet.next());
        assertEquals("id1row1column1", resultSet.getString(1));
        assertEquals("id1row1column2", resultSet.getString(2));
        assertTrue(resultSet.next());
        assertEquals("id1row2column1", resultSet.getString(1));
        assertEquals("id1row2column2", resultSet.getString(2));
        assertTrue(resultSet.next());
        assertEquals("id2row1column1", resultSet.getString(1));
        assertEquals("id2row1column2", resultSet.getString(2));
        assertTrue(resultSet.next());
        assertEquals("id3row1column1", resultSet.getString(1));
        assertEquals("id3row1column2", resultSet.getString(2));
        assertTrue(resultSet.next());
        assertEquals("id3row2column1", resultSet.getString(1));
        assertEquals("id3row2column2", resultSet.getString(2));
        assertTrue(resultSet.next());
        assertEquals("id3row3column1", resultSet.getString(1));
        assertEquals("id3row3column2", resultSet.getString(2));
        assertFalse(resultSet.next());
        assertFalse(resultSet.next());
    }
    
    public void testIllegalMethods() throws Exception
    {
        PolyResultSet resultSet = new PolyResultSet(getTestResultSetList());
        resultSet.next();
        try
        {
            resultSet.updateLong(1, 123);
            fail();
        } 
        catch(SQLException exc)
        {
            //should throw exception
        }
        try
        {
            resultSet.first();
            fail();
        } 
        catch(SQLException exc)
        {
            //should throw exception
        }
        try
        {
            resultSet.setFetchDirection(ResultSet.FETCH_FORWARD);
            fail();
        } 
        catch(SQLException exc)
        {
            //should throw exception
        }
        try
        {
            resultSet.updateString(2, "abc");
            fail();
        } 
        catch(SQLException exc)
        {
            //should throw exception
        }
        try
        {
            resultSet.refreshRow();
            fail();
        } 
        catch(SQLException exc)
        {
            //should throw exception
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy