// Path: library/src/main/java/uk/co/alt236/easycursor/exceptions/ConversionErrorException.java
// public class ConversionErrorException extends RuntimeException {
//     public ConversionErrorException(final String message) {
//         super(message);
//     }
// 
//     public ConversionErrorException(final Exception exception) {
//         super(exception);
//     }
// }
// 
// Path: library/src/test/java/uk/co/alt236/easycursor/objectcursor/factory/TestObject.java
// public class TestObject {
//     private final String mString;
//     private final Boolean mBool;
//     private final byte[] mByte;
//     private final Double mDouble;
//     private final Float mFloat;
//     private final Integer mInt;
//     private final Long mLong;
//     private final Short mShort;
//     private final Object mNull = null;
// 
//     public TestObject(final long seed) {
//         final Random random = new Random(seed);
// 
//         mString = UUID.randomUUID().toString();
//         mByte = mString.getBytes();
//         mBool = random.nextBoolean();
//         mLong = random.nextLong();
//         mInt = random.nextInt();
//         mDouble = random.nextDouble();
//         mFloat = random.nextFloat();
//         mShort = (short) random.nextInt(Short.MAX_VALUE + 1);
//     }
// 
//     public TestObject(final String mString,
//                       final Boolean mBool,
//                       final byte[] mByte,
//                       final Double mDouble,
//                       final Float mFloat,
//                       final Integer mInt,
//                       final Long mLong,
//                       final Short mShort) {
// 
//         this.mString = mString;
//         this.mBool = mBool;
//         this.mByte = mByte;
//         this.mDouble = mDouble;
//         this.mFloat = mFloat;
//         this.mInt = mInt;
//         this.mLong = mLong;
//         this.mShort = mShort;
//     }
// 
//     public byte[] getByte() {
//         return mByte;
//     }
// 
//     public Double getDouble() {
//         return mDouble;
//     }
// 
//     public Float getFloat() {
//         return mFloat;
//     }
// 
//     public Integer getInt() {
//         return mInt;
//     }
// 
//     public Long getLong() {
//         return mLong;
//     }
// 
//     public Object getNull() {
//         return mNull;
//     }
// 
//     public Short getShort() {
//         return mShort;
//     }
// 
//     public String getString() {
//         return mString;
//     }
// 
//     public Boolean isBool() {
//         return mBool;
//     }
// 
//     public static class Builder {
//         private String mString;
//         private Boolean mBool;
//         private byte[] mByte;
//         private Double mDouble;
//         private Float mFloat;
//         private Integer mInt;
//         private Long mLong;
//         private Short mShort;
// 
//         public Builder() {
//         }
// 
//         public TestObject build() {
//             return new TestObject(mString, mBool, mByte, mDouble, mFloat, mInt, mLong, mShort);
//         }
// 
//         public Builder withBool(final Boolean mBool) {
//             this.mBool = mBool;
//             return this;
//         }
// 
//         public Builder withByte(final byte[] mByte) {
//             this.mByte = mByte;
//             return this;
//         }
// 
//         public Builder withDouble(final Double mDouble) {
//             this.mDouble = mDouble;
//             return this;
//         }
// 
//         public Builder withFloat(final Float mFloat) {
//             this.mFloat = mFloat;
//             return this;
//         }
// 
//         public Builder withInt(final Integer mInt) {
//             this.mInt = mInt;
//             return this;
//         }
// 
//         public Builder withLong(final Long mLong) {
//             this.mLong = mLong;
//             return this;
//         }
// 
//         public Builder withShort(final Short mShort) {
//             this.mShort = mShort;
//             return this;
//         }
// 
//         public Builder withString(final String mString) {
//             this.mString = mString;
//             return this;
//         }
//     }
// }


import junit.framework.TestCase;
import java.nio.charset.Charset;
import java.util.Arrays;
import uk.co.alt236.easycursor.exceptions.ConversionErrorException;
import uk.co.alt236.easycursor.objectcursor.factory.TestObject;
        assertFalse((boolean) mObjectConverter.toType(ObjectType.BOOLEAN, "FalsE"));

        try {
            assertFalse((boolean) mObjectConverter.toType(ObjectType.BOOLEAN, 1));
            fail("this should have blown");
        } catch (final ConversionErrorException e) {
            // Expected
        }

        try {
            assertFalse((boolean) mObjectConverter.toType(ObjectType.BOOLEAN, null));
            fail("this should have blown");
        } catch (final ConversionErrorException e) {
            // Expected
        }
    }

    public void testToByteArray() throws Exception {
        assertNull(mObjectConverter.toType(ObjectType.BYTE_ARRAY, null));

        final byte[] array = new byte[]{1, 2, 3, Byte.MAX_VALUE, Byte.MIN_VALUE};
        assertTrue(Arrays.equals(
                array,
                (byte[]) mObjectConverter.toType(ObjectType.BYTE_ARRAY, array)));

        assertTrue(Arrays.equals(
                new byte[]{116, 101, 115, 116},
                (byte[]) mObjectConverter.toType(ObjectType.BYTE_ARRAY, "test")));

        try {
// Path: library/src/main/java/uk/co/alt236/easycursor/exceptions/ConversionErrorException.java
// public class ConversionErrorException extends RuntimeException {
//     public ConversionErrorException(final String message) {
//         super(message);
//     }
// 
//     public ConversionErrorException(final Exception exception) {
//         super(exception);
//     }
// }
// 
// Path: library/src/test/java/uk/co/alt236/easycursor/objectcursor/factory/TestObject.java
// public class TestObject {
//     private final String mString;
//     private final Boolean mBool;
//     private final byte[] mByte;
//     private final Double mDouble;
//     private final Float mFloat;
//     private final Integer mInt;
//     private final Long mLong;
//     private final Short mShort;
//     private final Object mNull = null;
// 
//     public TestObject(final long seed) {
//         final Random random = new Random(seed);
// 
//         mString = UUID.randomUUID().toString();
//         mByte = mString.getBytes();
//         mBool = random.nextBoolean();
//         mLong = random.nextLong();
//         mInt = random.nextInt();
//         mDouble = random.nextDouble();
//         mFloat = random.nextFloat();
//         mShort = (short) random.nextInt(Short.MAX_VALUE + 1);
//     }
// 
//     public TestObject(final String mString,
//                       final Boolean mBool,
//                       final byte[] mByte,
//                       final Double mDouble,
//                       final Float mFloat,
//                       final Integer mInt,
//                       final Long mLong,
//                       final Short mShort) {
// 
//         this.mString = mString;
//         this.mBool = mBool;
//         this.mByte = mByte;
//         this.mDouble = mDouble;
//         this.mFloat = mFloat;
//         this.mInt = mInt;
//         this.mLong = mLong;
//         this.mShort = mShort;
//     }
// 
//     public byte[] getByte() {
//         return mByte;
//     }
// 
//     public Double getDouble() {
//         return mDouble;
//     }
// 
//     public Float getFloat() {
//         return mFloat;
//     }
// 
//     public Integer getInt() {
//         return mInt;
//     }
// 
//     public Long getLong() {
//         return mLong;
//     }
// 
//     public Object getNull() {
//         return mNull;
//     }
// 
//     public Short getShort() {
//         return mShort;
//     }
// 
//     public String getString() {
//         return mString;
//     }
// 
//     public Boolean isBool() {
//         return mBool;
//     }
// 
//     public static class Builder {
//         private String mString;
//         private Boolean mBool;
//         private byte[] mByte;
//         private Double mDouble;
//         private Float mFloat;
//         private Integer mInt;
//         private Long mLong;
//         private Short mShort;
// 
//         public Builder() {
//         }
// 
//         public TestObject build() {
//             return new TestObject(mString, mBool, mByte, mDouble, mFloat, mInt, mLong, mShort);
//         }
// 
//         public Builder withBool(final Boolean mBool) {
//             this.mBool = mBool;
//             return this;
//         }
// 
//         public Builder withByte(final byte[] mByte) {
//             this.mByte = mByte;
//             return this;
//         }
// 
//         public Builder withDouble(final Double mDouble) {
//             this.mDouble = mDouble;
//             return this;
//         }
// 
//         public Builder withFloat(final Float mFloat) {
//             this.mFloat = mFloat;
//             return this;
//         }
// 
//         public Builder withInt(final Integer mInt) {
//             this.mInt = mInt;
//             return this;
//         }
// 
//         public Builder withLong(final Long mLong) {
//             this.mLong = mLong;
//             return this;
//         }
// 
//         public Builder withShort(final Short mShort) {
//             this.mShort = mShort;
//             return this;
//         }
// 
//         public Builder withString(final String mString) {
//             this.mString = mString;
//             return this;
//         }
//     }
// }


// Path: library/src/test/java/uk/co/alt236/easycursor/internal/conversion/ObjectConverterTest.java
import junit.framework.TestCase;
import java.nio.charset.Charset;
import java.util.Arrays;
import uk.co.alt236.easycursor.exceptions.ConversionErrorException;
import uk.co.alt236.easycursor.objectcursor.factory.TestObject;

        assertFalse((boolean) mObjectConverter.toType(ObjectType.BOOLEAN, "FalsE"));

        try {
            assertFalse((boolean) mObjectConverter.toType(ObjectType.BOOLEAN, 1));
            fail("this should have blown");
        } catch (final ConversionErrorException e) {
            // Expected
        }

        try {
            assertFalse((boolean) mObjectConverter.toType(ObjectType.BOOLEAN, null));
            fail("this should have blown");
        } catch (final ConversionErrorException e) {
            // Expected
        }
    }

    public void testToByteArray() throws Exception {
        assertNull(mObjectConverter.toType(ObjectType.BYTE_ARRAY, null));

        final byte[] array = new byte[]{1, 2, 3, Byte.MAX_VALUE, Byte.MIN_VALUE};
        assertTrue(Arrays.equals(
                array,
                (byte[]) mObjectConverter.toType(ObjectType.BYTE_ARRAY, array)));

        assertTrue(Arrays.equals(
                new byte[]{116, 101, 115, 116},
                (byte[]) mObjectConverter.toType(ObjectType.BYTE_ARRAY, "test")));

        try {
            mObjectConverter.toType(ObjectType.BYTE_ARRAY, new TestObject(1));