Search in sources :

Example 1 with PrimitiveArrayPOJO

use of org.apache.beam.sdk.schemas.utils.TestPOJOs.PrimitiveArrayPOJO in project beam by apache.

the class JavaFieldSchemaTest method testPrimitiveArrayGetters.

@Test
public void testPrimitiveArrayGetters() throws NoSuchSchemaException {
    SchemaRegistry registry = SchemaRegistry.createDefault();
    SchemaTestUtils.assertSchemaEquivalent(PRIMITIVE_ARRAY_POJO_SCHEMA, registry.getSchema(PrimitiveArrayPOJO.class));
    List<String> strList = ImmutableList.of("a", "b", "c");
    int[] intArray = { 1, 2, 3, 4 };
    Long[] longArray = { 42L, 43L, 44L };
    PrimitiveArrayPOJO pojo = new PrimitiveArrayPOJO(strList, intArray, longArray);
    Row row = registry.getToRowFunction(PrimitiveArrayPOJO.class).apply(pojo);
    assertEquals(strList, row.getArray("strings"));
    assertEquals(Ints.asList(intArray), row.getArray("integers"));
    assertEquals(Arrays.asList(longArray), row.getArray("longs"));
    // Ensure that list caching works.
    assertSame(row.getArray("strings"), row.getArray("strings"));
    assertSame(row.getArray("integers"), row.getArray("integers"));
    assertSame(row.getArray("longs"), row.getArray("longs"));
}
Also used : PrimitiveArrayPOJO(org.apache.beam.sdk.schemas.utils.TestPOJOs.PrimitiveArrayPOJO) Matchers.containsString(org.hamcrest.Matchers.containsString) Row(org.apache.beam.sdk.values.Row) Test(org.junit.Test)

Example 2 with PrimitiveArrayPOJO

use of org.apache.beam.sdk.schemas.utils.TestPOJOs.PrimitiveArrayPOJO in project beam by apache.

the class JavaFieldSchemaTest method testPrimitiveArraySetters.

@Test
public void testPrimitiveArraySetters() throws NoSuchSchemaException {
    SchemaRegistry registry = SchemaRegistry.createDefault();
    Row row = Row.withSchema(PRIMITIVE_ARRAY_POJO_SCHEMA).addArray("a", "b", "c", "d").addArray(1, 2, 3, 4).addArray(42L, 43L, 44L, 45L).build();
    PrimitiveArrayPOJO pojo = registry.getFromRowFunction(PrimitiveArrayPOJO.class).apply(row);
    assertEquals(row.getArray("strings"), pojo.strings);
    assertEquals(row.getArray("integers"), Ints.asList(pojo.integers));
    assertEquals(row.getArray("longs"), Arrays.asList(pojo.longs));
}
Also used : PrimitiveArrayPOJO(org.apache.beam.sdk.schemas.utils.TestPOJOs.PrimitiveArrayPOJO) Row(org.apache.beam.sdk.values.Row) Test(org.junit.Test)

Aggregations

PrimitiveArrayPOJO (org.apache.beam.sdk.schemas.utils.TestPOJOs.PrimitiveArrayPOJO)2 Row (org.apache.beam.sdk.values.Row)2 Test (org.junit.Test)2 Matchers.containsString (org.hamcrest.Matchers.containsString)1