@Test public void testFieldDescriptorDefaultFieldBridge() { FieldDescriptor fieldDescriptor = getFieldDescriptor( Snafu.class, "my-snafu" ); assertNotNull( fieldDescriptor.getFieldBridge() ); assertTrue( fieldDescriptor.getFieldBridge() instanceof StringBridge ); }
@Test public void testUsageOfDefaultStringBridgeInFieldBridgeAnnotation() throws Exception { String fieldName = "foo"; FieldDescriptor fieldDescriptor = getFieldDescriptor( Foo.class, fieldName ); FieldBridge fieldBridge = fieldDescriptor.getFieldBridge(); assertTrue( "The DefaultStringBridge should be wrapped in String2FieldBridgeAdaptor", fieldBridge instanceof String2FieldBridgeAdaptor ); // need to use reflection :-( java.lang.reflect.Field field = fieldBridge.getClass().getDeclaredField( "stringBridge" ); field.setAccessible( true ); StringBridge stringBridge = (StringBridge) field.get( fieldBridge ); assertTrue( "There should only be a single instance of DefaultStringBridge", DefaultStringBridge.INSTANCE == stringBridge ); }
@Test public void testFieldDescriptorWithCoordinatesWithoutSpatialAnnotation() { FieldDescriptor fieldDescriptor = getFieldDescriptor( SnafuWithCoordinatesWithoutSpatial.class, "location" ); assertNotNull( fieldDescriptor.getFieldBridge() ); assertTrue( fieldDescriptor.getFieldBridge() instanceof SpatialFieldBridge ); assertEquals( FieldSettingsDescriptor.Type.SPATIAL, fieldDescriptor.getType() ); }
@Test public void testFieldDescriptorWithCoordinates() { FieldDescriptor fieldDescriptor = getFieldDescriptor( SnafuWithCoordinates.class, "location" ); assertNotNull( fieldDescriptor.getFieldBridge() ); assertTrue( fieldDescriptor.getFieldBridge() instanceof SpatialFieldBridge ); assertTrue( FieldSettingsDescriptor.Type.SPATIAL.equals( fieldDescriptor.getType() ) ); }
@Test public void testFieldDescriptorSpatialFieldBridge() { FieldDescriptor fieldDescriptor = getFieldDescriptor( Snafu.class, "location" ); assertNotNull( fieldDescriptor.getFieldBridge() ); assertTrue( fieldDescriptor.getFieldBridge() instanceof SpatialFieldBridge ); assertTrue( FieldSettingsDescriptor.Type.SPATIAL.equals( fieldDescriptor.getType() ) ); }
@Test public void testFieldDescriptorByteNumericFieldBridge() { FieldDescriptor fieldDescriptor = getFieldDescriptor( Snafu.class, "numericByteField" ); assertNotNull( fieldDescriptor.getFieldBridge() ); assertTrue( fieldDescriptor.getFieldBridge() instanceof NumericFieldBridge ); assertTrue( FieldSettingsDescriptor.Type.NUMERIC.equals( fieldDescriptor.getType() ) ); NumericFieldSettingsDescriptor numericFieldSettingsDescriptor = fieldDescriptor.as( NumericFieldSettingsDescriptor.class ); int expectedPrecisionStep = 4; assertEquals( "the numeric step should be " + expectedPrecisionStep, expectedPrecisionStep, numericFieldSettingsDescriptor.precisionStep() ); NumericEncodingType expectedNumericEncodingType = NumericEncodingType.INTEGER; assertEquals( "the short numeric field should be encoded as " + expectedNumericEncodingType, expectedNumericEncodingType, numericFieldSettingsDescriptor.encodingType() ); }
@Test public void testFieldDescriptorShortNumericFieldBridge() { FieldDescriptor fieldDescriptor = getFieldDescriptor( Snafu.class, "numericShortField" ); assertNotNull( fieldDescriptor.getFieldBridge() ); assertTrue( fieldDescriptor.getFieldBridge() instanceof NumericFieldBridge ); assertTrue( FieldSettingsDescriptor.Type.NUMERIC.equals( fieldDescriptor.getType() ) ); NumericFieldSettingsDescriptor numericFieldSettingsDescriptor = fieldDescriptor.as( NumericFieldSettingsDescriptor.class ); int expectedPrecisionStep = 8; assertEquals( "the numeric step should be " + expectedPrecisionStep, expectedPrecisionStep, numericFieldSettingsDescriptor.precisionStep() ); NumericEncodingType expectedNumericEncodingType = NumericEncodingType.INTEGER; assertEquals( "the short numeric field should be encoded as " + expectedNumericEncodingType, expectedNumericEncodingType, numericFieldSettingsDescriptor.encodingType() ); }