FileDocCategorySizeDatePackage
MatrixCursorTest.javaAPI DocAndroid 5.1 API6738Thu Mar 12 22:22:12 GMT 2015android.database

MatrixCursorTest

public class MatrixCursorTest extends TestCase

Fields Summary
Constructors Summary
Methods Summary
private voidcheckValues(MatrixCursor cursor)

        assertEquals("a", cursor.getString(0));
        assertEquals(1, cursor.getShort(1));
        assertEquals(2, cursor.getInt(2));
        assertEquals(3, cursor.getLong(3));
        assertEquals(4.0f, cursor.getFloat(4));
        assertEquals(5.0D, cursor.getDouble(5));
        MoreAsserts.assertEquals(new byte[] {(byte) 0xaa, (byte) 0x55}, cursor.getBlob(6));
    
private MatrixCursornewMatrixCursor()

        return new MatrixCursor(new String[] {
                "string", "short", "int", "long", "float", "double", "blob" });
    
public voidtestAddArray()

        MatrixCursor cursor = newMatrixCursor();

        cursor.addRow(new Object[] { "a", 1, 2, 3, 4, 5, new byte[] {(byte) 0xaa, (byte) 0x55} });
        cursor.moveToNext();
        checkValues(cursor);

        try {
            cursor.addRow(new Object[0]);
            fail();
        } catch (IllegalArgumentException e) { /* expected */ }
    
public voidtestAddArrayList()

        MatrixCursor cursor = newMatrixCursor();

        cursor.addRow(new NonIterableArrayList<Object>(
                Arrays.asList("a", 1, 2, 3, 4, 5, new byte[] {(byte) 0xaa, (byte) 0x55})));
        cursor.moveToNext();
        checkValues(cursor);

        try {
            cursor.addRow(new NonIterableArrayList<Object>());
            fail();
        } catch (IllegalArgumentException e) { /* expected */ }

        try {
            cursor.addRow(new NonIterableArrayList<Object>(
                    Arrays.asList("a", 1, 2, 3, 4, 5,
                    new byte[] {(byte) 0xaa, (byte) 0x55}, "Too many!")));
            fail();
        } catch (IllegalArgumentException e) { /* expected */ }
    
public voidtestAddIterable()

        MatrixCursor cursor = newMatrixCursor();

        cursor.addRow(Arrays.asList("a", 1, 2, 3, 4, 5, new byte[] {(byte) 0xaa, (byte) 0x55}));
        cursor.moveToNext();
        checkValues(cursor);

        try {
            cursor.addRow(Collections.emptyList());
            fail();
        } catch (IllegalArgumentException e) { /* expected */ }

        try {
            cursor.addRow(Arrays.asList("a", 1, 2, 3, 4, 5,
                    new byte[] {(byte) 0xaa, (byte) 0x55}, "Too many!"));
            fail();
        } catch (IllegalArgumentException e) { /* expected */ }
    
public voidtestEmptyCursor()

        Cursor cursor = new MatrixCursor(new String[] { "a" });
        assertEquals(0, cursor.getCount());
    
public voidtestMatrixCursor()

        MatrixCursor cursor = newMatrixCursor();

        cursor.newRow()
                .add("a")
                .add(1)
                .add(2)
                .add(3)
                .add(4)
                .add(5)
                .add(new byte[] {(byte) 0xaa, (byte) 0x55});

        cursor.moveToNext();

        checkValues(cursor);

        cursor.newRow()
                .add("a")
                .add("1")
                .add("2")
                .add("3")
                .add("4")
                .add("5")
                .add(new byte[] {(byte) 0xaa, (byte) 0x55});

        cursor.moveToNext();
        checkValues(cursor);

        cursor.moveToPrevious();
        checkValues(cursor);
    
public voidtestNullValue()

        MatrixCursor cursor = new MatrixCursor(new String[] { "a" });
        cursor.newRow().add(null);
        cursor.moveToNext();
        assertTrue(cursor.isNull(0));
        assertNull(cursor.getString(0));
        assertNull(cursor.getBlob(0));
        assertEquals(0, cursor.getShort(0));
        assertEquals(0, cursor.getInt(0));
        assertEquals(0L, cursor.getLong(0));
        assertEquals(0.0f, cursor.getFloat(0));
        assertEquals(0.0d, cursor.getDouble(0));
    
public voidtestRowBuilderOffer()

        MatrixCursor cursor = newMatrixCursor();

        cursor.newRow()
                .add("float", 4.2f)
                .add("string", "foobar")
                .add("blob", new byte[] {(byte) 0xaa, (byte) 0x55})
                .add("lolwat", "kittens");

        cursor.newRow();

        cursor.newRow()
                .add("string", "zero")
                .add("string", "one")
                .add("string", "two")
                .add("lolwat", "kittens");

        assertTrue(cursor.moveToFirst());
        assertEquals("foobar", cursor.getString(0));
        assertEquals(null, cursor.getString(1));
        assertEquals(0, cursor.getShort(1));
        assertEquals(0, cursor.getInt(2));
        assertEquals(0, cursor.getLong(3));
        assertEquals(4.2f, cursor.getFloat(4));
        assertEquals(0.0d, cursor.getDouble(5));
        MoreAsserts.assertEquals(new byte[] {(byte) 0xaa, (byte) 0x55}, cursor.getBlob(6));

        assertTrue(cursor.moveToNext());
        assertEquals(null, cursor.getString(0));
        assertEquals(0, cursor.getShort(1));
        assertEquals(0, cursor.getInt(2));
        assertEquals(0, cursor.getLong(3));
        assertEquals(0.0f, cursor.getFloat(4));
        assertEquals(0.0d, cursor.getDouble(5));
        assertEquals(null, cursor.getBlob(6));

        assertTrue(cursor.moveToNext());
        assertEquals("two", cursor.getString(0));
        assertEquals(0, cursor.getShort(1));
        assertEquals(0, cursor.getInt(2));
        assertEquals(0, cursor.getLong(3));
        assertEquals(0.0f, cursor.getFloat(4));
        assertEquals(0.0d, cursor.getDouble(5));
        assertEquals(null, cursor.getBlob(6));

        assertTrue(cursor.isLast());
        assertFalse(cursor.moveToNext());
        assertTrue(cursor.isAfterLast());