@Test public void writeTimestampArrayEmpty() { write( baseInsert() .set("TimestampArrayValue") .toTimestampArray(Arrays.<Timestamp>asList()) .build()); Struct row = readLastRow("TimestampArrayValue"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getTimestampList(0)).containsExactly(); }
@Test public void writeFloat64ArrayNoNulls() { write(baseInsert().set("Float64ArrayValue").toFloat64Array(Arrays.asList(1.0, 2.0)).build()); Struct row = readLastRow("Float64ArrayValue"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getDoubleArray(0).length).isEqualTo(2); assertThat(row.getDoubleArray(0)[0]).isWithin(0.0).of(1.0); assertThat(row.getDoubleArray(0)[1]).isWithin(0.0).of(2.0); }
@Test public void writeBytesArray() { List<ByteArray> data = Arrays.asList(ByteArray.copyFrom("a"), ByteArray.copyFrom("b"), null); write(baseInsert().set("BytesArrayValue").toBytesArray(data).build()); Struct row = readLastRow("BytesArrayValue"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getBytesList(0)).isEqualTo(data); }
@Test public void writeString() { write(baseInsert().set("StringValue").to("V1").build()); Struct row = readLastRow("StringValue"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getString(0)).isEqualTo("V1"); }
@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 writeFloat64ArrayEmpty() { write(baseInsert().set("Float64ArrayValue").toFloat64Array(new double[] {}).build()); Struct row = readLastRow("Float64ArrayValue"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getDoubleList(0)).containsExactly(); }
@Test public void writeBytesArrayNull() { write(baseInsert().set("BytesArrayValue").toBytesArray(null).build()); Struct row = readLastRow("BytesArrayValue"); assertThat(row.isNull(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 writeCommitTimestamp() { Timestamp commitTimestamp = write(baseInsert().set("TimestampValue").to(Value.COMMIT_TIMESTAMP).build()); Struct row = readLastRow("TimestampValue"); assertThat(row.getTimestamp(0)).isEqualTo(commitTimestamp); }
@Test public void writeDateArrayNull() { write(baseInsert().set("DateArrayValue").toDateArray(null).build()); Struct row = readLastRow("DateArrayValue"); assertThat(row.isNull(0)).isTrue(); }
@Test public void writeBoolArray() { write(baseInsert().set("BoolArrayValue").toBoolArray(Arrays.asList(true, null, false)).build()); Struct row = readLastRow("BoolArrayValue"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getBooleanList(0)).containsExactly(true, null, false).inOrder(); expectedException.expect(NullPointerException.class); row.getBooleanArray(0); }
@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); }
@Test public void writeTimestamp() { Timestamp timestamp = Timestamp.parseTimestamp("2016-09-15T00:00:00.111111Z"); write(baseInsert().set("TimestampValue").to(timestamp).build()); Struct row = readLastRow("TimestampValue"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getTimestamp(0)).isEqualTo(timestamp); }
@Test public void writeFloat64() { write(baseInsert().set("Float64Value").to(2.0).build()); Struct row = readLastRow("Float64Value"); assertThat(row.isNull(0)).isFalse(); assertThat(row.getDouble(0)).isWithin(0.0).of(2.0); }