/** * Returns an {@code ARRAY<BOOL>} value. * * @param v the source of element values, which may be null to produce a value for which {@code * isNull()} is {@code true} */ public static Value boolArray(@Nullable boolean[] v) { return boolArray(v, 0, v == null ? 0 : v.length); }
/** Binds to {@code Value.boolArray(values)} */ public R toBoolArray(@Nullable boolean[] values) { return handle(Value.boolArray(values)); }
/** Binds to {@code Value.boolArray(values, int, pos)} */ public R toBoolArray(@Nullable boolean[] values, int pos, int length) { return handle(Value.boolArray(values, pos, length)); }
/** Binds to {@code Value.boolArray(values)} */ public R toBoolArray(@Nullable Iterable<Boolean> values) { return handle(Value.boolArray(values)); }
@Override public com.google.protobuf.Value apply(List<Boolean> input) { return Value.boolArray(input).toProto(); } },
@Test public void boolArrayTryGetInt64Array() { Value value = Value.boolArray(Arrays.asList(true)); expectedException.expect(IllegalStateException.class); expectedException.expectMessage("Expected: ARRAY<INT64> actual: ARRAY<BOOL>"); value.getInt64Array(); }
@Test public void boolArrayFromList() { Value v = Value.boolArray(Arrays.asList(true, null, false)); assertThat(v.isNull()).isFalse(); assertThat(v.getBoolArray()).containsExactly(true, null, false).inOrder(); assertThat(v.toString()).isEqualTo("[true,NULL,false]"); }
@Test public void boolArrayRange() { Value v = Value.boolArray(new boolean[] {true, false, false, true, false}, 1, 3); assertThat(v.isNull()).isFalse(); assertThat(v.getBoolArray()).containsExactly(false, false, true).inOrder(); assertThat(v.toString()).isEqualTo("[false,false,true]"); }
@Test public void boolArray() { Value v = Value.boolArray(new boolean[] {true, false}); assertThat(v.isNull()).isFalse(); assertThat(v.getBoolArray()).containsExactly(true, false).inOrder(); assertThat(v.toString()).isEqualTo("[true,false]"); }
@Test public void boolArrayFromListNull() { Value v = Value.boolArray((Iterable<Boolean>) null); assertThat(v.isNull()).isTrue(); assertThat(v.toString()).isEqualTo(NULL_STRING); expectedException.expect(IllegalStateException.class); expectedException.expectMessage("null value"); v.getBoolArray(); }
@Test public void boolArrayNull() { Value v = Value.boolArray((boolean[]) null); assertThat(v.isNull()).isTrue(); assertThat(v.toString()).isEqualTo(NULL_STRING); expectedException.expect(IllegalStateException.class); expectedException.expectMessage("null value"); v.getBoolArray(); }
@Test public void boolArrayFromPlainIterable() { // Test to ensure that PrimitiveArrayFactory understands how to create an appropriate backing // arrays from various sizes of plain Iterable input. This test also covers the code paths // used by int64Array() and float64Array(). for (int i = 0; i < 50; ++i) { Boolean[] data = new Boolean[i]; for (int j = 0; j < data.length; ++j) { data[j] = (j % 3 == 2) ? null : ((j % 3) == 1); } String name = "boolArray() of length " + i; Value v = Value.boolArray(plainIterable(data)); assertThat(v.isNull()).named(name).isFalse(); assertThat(v.getBoolArray()).named(name).containsExactly((Object[]) data).inOrder(); } }
@Test public void getBooleanArray() { boolean[] boolArray = {true, true, false}; consumer.onPartialResultSet( PartialResultSet.newBuilder() .setMetadata( makeMetadata(Type.struct(Type.StructField.of("f", Type.array(Type.bool()))))) .addValues(Value.boolArray(boolArray).toProto()) .build()); consumer.onCompleted(); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getBooleanArray(0)).isEqualTo(boolArray); }
switch (elementType.getCode()) { case BOOL: return Value.boolArray(value.getBooleanArray(fieldIndex)); case INT64: return Value.int64Array(value.getLongArray(fieldIndex));
Value.boolArray(Arrays.asList(false, true)), Value.boolArray(new boolean[] {false, true}), Value.boolArray(new boolean[] {true, false, true, false}, 1, 2), Value.boolArray(plainIterable(false, true))); tester.addEqualityGroup(Value.boolArray(Arrays.asList(false))); tester.addEqualityGroup(Value.boolArray((Iterable<Boolean>) null));
/** Binds to {@code Value.boolArray(values)} */ public R toBoolArray(@Nullable Iterable<Boolean> values) { return handle(Value.boolArray(values)); }
/** Binds to {@code Value.boolArray(values)} */ public R toBoolArray(@Nullable boolean[] values) { return handle(Value.boolArray(values)); }