// Path: src/main/java/com/pgasync/Row.java
// public interface Row {
// 
//     String getString(int index);
// 
//     String getString(String column);
// 
//     Byte getByte(int index);
// 
//     Byte getByte(String column);
// 
//     Character getChar(int index);
// 
//     Character getChar(String column);
// 
//     Short getShort(int index);
// 
//     Short getShort(String column);
// 
//     Integer getInt(int index);
// 
//     Integer getInt(String column);
// 
//     Long getLong(int index);
// 
//     Long getLong(String column);
// 
//     BigInteger getBigInteger(int index);
// 
//     BigInteger getBigInteger(String column);
// 
//     BigDecimal getBigDecimal(int index);
// 
//     BigDecimal getBigDecimal(String column);
// 
//     Double getDouble(int index);
// 
//     Double getDouble(String column);
// 
//     Date getDate(int index);
// 
//     Date getDate(String column);
// 
//     Time getTime(int index);
// 
//     Time getTime(String column);
// 
//     Timestamp getTimestamp(int index);
// 
//     Timestamp getTimestamp(String column);
// 
//     byte[] getBytes(int index);
// 
//     byte[] getBytes(String column);
// 
//     Boolean getBoolean(int index);
// 
//     Boolean getBoolean(String column);
// 
//     <T> T get(int index, Class<T> type);
// 
//     <T> T get(String column, Class<T> type);
// 
//     <TArray> TArray getArray(String column, Class<TArray> arrayType);
// 
//     <TArray> TArray getArray(int index, Class<TArray> arrayType);
// 
// }


import com.pgasync.Row;
import org.junit.*;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
package com.github.pgasync;




public class ArrayConversionsTest {
    
    @ClassRule
    public static DatabaseRule dbr = new DatabaseRule();

    @BeforeClass
    public static void create() {
        drop();
        dbr.query("CREATE TABLE CA_TEST (" +
                "TEXTA TEXT[], SHORTA INT2[], INTA INT4[], LONGA INT8[], FLOATA FLOAT4[], TIMESTAMPA TIMESTAMP[], BYTEAA BYTEA[])");
    }

    @AfterClass
    public static void drop() {
        dbr.query("DROP TABLE IF EXISTS CA_TEST");
    }

    @After
    public void empty() {
        dbr.query("DELETE FROM CA_TEST");
    }

// Path: src/main/java/com/pgasync/Row.java
// public interface Row {
// 
//     String getString(int index);
// 
//     String getString(String column);
// 
//     Byte getByte(int index);
// 
//     Byte getByte(String column);
// 
//     Character getChar(int index);
// 
//     Character getChar(String column);
// 
//     Short getShort(int index);
// 
//     Short getShort(String column);
// 
//     Integer getInt(int index);
// 
//     Integer getInt(String column);
// 
//     Long getLong(int index);
// 
//     Long getLong(String column);
// 
//     BigInteger getBigInteger(int index);
// 
//     BigInteger getBigInteger(String column);
// 
//     BigDecimal getBigDecimal(int index);
// 
//     BigDecimal getBigDecimal(String column);
// 
//     Double getDouble(int index);
// 
//     Double getDouble(String column);
// 
//     Date getDate(int index);
// 
//     Date getDate(String column);
// 
//     Time getTime(int index);
// 
//     Time getTime(String column);
// 
//     Timestamp getTimestamp(int index);
// 
//     Timestamp getTimestamp(String column);
// 
//     byte[] getBytes(int index);
// 
//     byte[] getBytes(String column);
// 
//     Boolean getBoolean(int index);
// 
//     Boolean getBoolean(String column);
// 
//     <T> T get(int index, Class<T> type);
// 
//     <T> T get(String column, Class<T> type);
// 
//     <TArray> TArray getArray(String column, Class<TArray> arrayType);
// 
//     <TArray> TArray getArray(int index, Class<TArray> arrayType);
// 
// }


// Path: src/test/java/com/github/pgasync/ArrayConversionsTest.java
import com.pgasync.Row;
import org.junit.*;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;

package com.github.pgasync;




public class ArrayConversionsTest {
    
    @ClassRule
    public static DatabaseRule dbr = new DatabaseRule();

    @BeforeClass
    public static void create() {
        drop();
        dbr.query("CREATE TABLE CA_TEST (" +
                "TEXTA TEXT[], SHORTA INT2[], INTA INT4[], LONGA INT8[], FLOATA FLOAT4[], TIMESTAMPA TIMESTAMP[], BYTEAA BYTEA[])");
    }

    @AfterClass
    public static void drop() {
        dbr.query("DROP TABLE IF EXISTS CA_TEST");
    }

    @After
    public void empty() {
        dbr.query("DELETE FROM CA_TEST");
    }

    private Row getRow() {