@Test public void bindBoolArrayEmpty() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toBoolArray(Arrays.<Boolean>asList()), Type.array(Type.bool())); assertThat(row.isNull(0)).isFalse(); assertThat(row.getBooleanList(0)).containsExactly(); }
@Test public void bindBytesArrayEmpty() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toBytesArray(Arrays.<ByteArray>asList()), Type.array(Type.bytes())); assertThat(row.isNull(0)).isFalse(); assertThat(row.getBytesList(0)).isEmpty(); }
@Test public void bindBoolArray() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toBoolArray(asList(true, null, false)), Type.array(Type.bool())); assertThat(row.isNull(0)).isFalse(); assertThat(row.getBooleanList(0)).containsExactly(true, null, false).inOrder(); }
@Test public void bindInt64Null() { Struct row = execute(Statement.newBuilder("SELECT @v").bind("v").to((Long) null), Type.int64()); assertThat(row.isNull(0)).isTrue(); }
@Test public void bindString() { Struct row = execute(Statement.newBuilder("SELECT @v").bind("v").to("abc"), Type.string()); assertThat(row.isNull(0)).isFalse(); assertThat(row.getString(0)).isEqualTo("abc"); }
@Test public void bindStringNull() { Struct row = execute(Statement.newBuilder("SELECT @v").bind("v").to((String) null), Type.string()); assertThat(row.isNull(0)).isTrue(); }
@Test public void bindStringArray() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toStringArray(asList("a", "b", null)), Type.array(Type.string())); assertThat(row.isNull(0)).isFalse(); assertThat(row.getStringList(0)).containsExactly("a", "b", null).inOrder(); }
@Test public void writeBool() { write(baseInsert().set("BoolValue").to(true).build()); Struct row = readLastRow("BoolValue"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getBoolean(0)).isTrue(); }
@Test public void writeInt64Null() { write(baseInsert().set("Int64Value").to((Long) null).build()); Struct row = readLastRow("Int64Value"); assertThat(row.isNull(0)).isTrue(); }
@Test public void writeFloat64Null() { write(baseInsert().set("Float64Value").to((Double) null).build()); Struct row = readLastRow("Float64Value"); assertThat(row.isNull(0)).isTrue(); }
@Test public void writeTimestampNull() { write(baseInsert().set("TimestampValue").to((Timestamp) null).build()); Struct row = readLastRow("TimestampValue"); assertThat(row.isNull(0)).isTrue(); }
@Test public void writeInt64ArrayNull() { write(baseInsert().set("Int64ArrayValue").toInt64Array((long[]) null).build()); Struct row = readLastRow("Int64ArrayValue"); assertThat(row.isNull(0)).isTrue(); }
@Test public void writeFloat64ArrayNull() { write(baseInsert().set("Float64ArrayValue").toFloat64Array((double[]) null).build()); Struct row = readLastRow("Float64ArrayValue"); assertThat(row.isNull(0)).isTrue(); }
@Test public void bindBoolArrayNull() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toBoolArray((boolean[]) null), Type.array(Type.bool())); assertThat(row.isNull(0)).isTrue(); }
@Test public void bindTimestampArrayNull() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toTimestampArray(null), Type.array(Type.timestamp())); assertThat(row.isNull(0)).isTrue(); }
@Test public void bindInt64ArrayNull() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toInt64Array((long[]) null), Type.array(Type.int64())); assertThat(row.isNull(0)).isTrue(); }
@Test public void bindStringArrayNull() { Struct row = execute( Statement.newBuilder("SELECT @v").bind("v").toStringArray(null), Type.array(Type.string())); assertThat(row.isNull(0)).isTrue(); }
@Test public void writeDateArray() { Date d1 = Date.parseDate("2016-09-18"); Date d2 = Date.parseDate("2016-09-19"); write(baseInsert().set("DateArrayValue").toDateArray(Arrays.asList(d1, null, d2)).build()); Struct row = readLastRow("DateArrayValue"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getDateList(0)).containsExactly(d1, null, d2).inOrder(); }
@Test public void writeInt64Array() { write(baseInsert().set("Int64ArrayValue").toInt64Array(Arrays.asList(1L, 2L, null)).build()); Struct row = readLastRow("Int64ArrayValue"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getLongList(0)).containsExactly(1L, 2L, null).inOrder(); expectedException.expect(NullPointerException.class); row.getLongArray(0); }
@Test public void writeBytes() { ByteArray data = ByteArray.copyFrom("V1"); write(baseInsert().set("BytesValue").to(data).build()); Struct row = readLastRow("BytesValue"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getBytes(0)).isEqualTo(data); }