/** * Checks that {#link CoderProviders.fromStaticMethods} successfully builds a working {@link * CoderProvider} from {@link KvCoder KvCoder.class}. */ @Test public void testKvCoderProvider() throws Exception { TypeDescriptor<KV<Double, Double>> type = TypeDescriptors.kvs(TypeDescriptors.doubles(), TypeDescriptors.doubles()); CoderProvider kvCoderProvider = CoderProviders.fromStaticMethods(KV.class, KvCoder.class); assertEquals( KvCoder.of(DoubleCoder.of(), DoubleCoder.of()), kvCoderProvider.coderFor(type, Arrays.asList(DoubleCoder.of(), DoubleCoder.of()))); }
/** * Checks that {#link CoderProviders.fromStaticMethods} successfully builds a working {@link * CoderProvider} from {@link ListCoder ListCoder.class}. */ @Test public void testListCoderProvider() throws Exception { TypeDescriptor<List<Double>> type = TypeDescriptors.lists(TypeDescriptors.doubles()); CoderProvider listCoderProvider = CoderProviders.fromStaticMethods(List.class, ListCoder.class); assertEquals( ListCoder.of(DoubleCoder.of()), listCoderProvider.coderFor(type, Arrays.asList(DoubleCoder.of()))); }
/** * Checks that {#link CoderProviders.fromStaticMethods} successfully builds a working {@link * CoderProvider} from {@link IterableCoder IterableCoder.class}. */ @Test public void testIterableCoderProvider() throws Exception { TypeDescriptor<Iterable<Double>> type = TypeDescriptors.iterables(TypeDescriptors.doubles()); CoderProvider iterableCoderProvider = CoderProviders.fromStaticMethods(Iterable.class, IterableCoder.class); assertEquals( IterableCoder.of(DoubleCoder.of()), iterableCoderProvider.coderFor(type, Arrays.asList(DoubleCoder.of()))); } }
@Test public void testCoderProvidersFromStaticMethodsForParameterlessTypes() throws Exception { CoderProvider factory = CoderProviders.fromStaticMethods(String.class, StringUtf8Coder.class); assertEquals( StringUtf8Coder.of(), factory.coderFor(TypeDescriptors.strings(), Collections.emptyList())); factory = CoderProviders.fromStaticMethods(Double.class, DoubleCoder.class); assertEquals( DoubleCoder.of(), factory.coderFor(TypeDescriptors.doubles(), Collections.emptyList())); factory = CoderProviders.fromStaticMethods(byte[].class, ByteArrayCoder.class); assertEquals( ByteArrayCoder.of(), factory.coderFor(TypeDescriptor.of(byte[].class), Collections.emptyList())); }
MapElements.into(TypeDescriptors.doubles()) .via((TableRow row) -> (Double) row.get("max_temperature")));
@Test public void testPrimitiveTypeToJavaType() { assertEquals( TypeDescriptors.bytes(), FieldTypeDescriptors.javaTypeForFieldType(FieldType.BYTE)); assertEquals( TypeDescriptors.shorts(), FieldTypeDescriptors.javaTypeForFieldType(FieldType.INT16)); assertEquals( TypeDescriptors.integers(), FieldTypeDescriptors.javaTypeForFieldType(FieldType.INT32)); assertEquals( TypeDescriptors.longs(), FieldTypeDescriptors.javaTypeForFieldType(FieldType.INT64)); assertEquals( TypeDescriptors.bigdecimals(), FieldTypeDescriptors.javaTypeForFieldType(FieldType.DECIMAL)); assertEquals( TypeDescriptors.floats(), FieldTypeDescriptors.javaTypeForFieldType(FieldType.FLOAT)); assertEquals( TypeDescriptors.doubles(), FieldTypeDescriptors.javaTypeForFieldType(FieldType.DOUBLE)); assertEquals( TypeDescriptors.strings(), FieldTypeDescriptors.javaTypeForFieldType(FieldType.STRING)); assertEquals( TypeDescriptor.of(Instant.class), FieldTypeDescriptors.javaTypeForFieldType(FieldType.DATETIME)); assertEquals( TypeDescriptors.booleans(), FieldTypeDescriptors.javaTypeForFieldType(FieldType.BOOLEAN)); assertEquals( TypeDescriptor.of(byte[].class), FieldTypeDescriptors.javaTypeForFieldType(FieldType.BYTES)); }
@Test public void testPrimitiveTypeToFieldType() { assertEquals( FieldType.BYTE, FieldTypeDescriptors.fieldTypeForJavaType(TypeDescriptors.bytes())); assertEquals( FieldType.INT16, FieldTypeDescriptors.fieldTypeForJavaType(TypeDescriptors.shorts())); assertEquals( FieldType.INT32, FieldTypeDescriptors.fieldTypeForJavaType(TypeDescriptors.integers())); assertEquals( FieldType.INT64, FieldTypeDescriptors.fieldTypeForJavaType(TypeDescriptors.longs())); assertEquals( FieldType.DECIMAL, FieldTypeDescriptors.fieldTypeForJavaType(TypeDescriptors.bigdecimals())); assertEquals( FieldType.FLOAT, FieldTypeDescriptors.fieldTypeForJavaType(TypeDescriptors.floats())); assertEquals( FieldType.DOUBLE, FieldTypeDescriptors.fieldTypeForJavaType(TypeDescriptors.doubles())); assertEquals( FieldType.STRING, FieldTypeDescriptors.fieldTypeForJavaType(TypeDescriptors.strings())); assertEquals( FieldType.DATETIME, FieldTypeDescriptors.fieldTypeForJavaType(TypeDescriptor.of(Instant.class))); assertEquals( FieldType.BOOLEAN, FieldTypeDescriptors.fieldTypeForJavaType(TypeDescriptors.booleans())); assertEquals( FieldType.BYTES, FieldTypeDescriptors.fieldTypeForJavaType(TypeDescriptor.of(byte[].class))); }