### Question:
DoubleConverter implements AtlasConverter<Double> { @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.DOUBLE) public Double toDouble(Double value) { return value != null ? Double.valueOf(value) : null; }  @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.DECIMAL) BigDecimal toBigDecimal(Double value); @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.BIG_INTEGER, concerns = AtlasConversionConcern.FRACTIONAL_PART) BigInteger toBigInteger(Double value); @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.BOOLEAN, concerns = { AtlasConversionConcern.CONVENTION }) Boolean toBoolean(Double value); @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.BYTE, concerns = {AtlasConversionConcern.RANGE, AtlasConversionConcern.FRACTIONAL_PART}) Byte toByte(Double value); @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.CHAR, concerns = {AtlasConversionConcern.RANGE, AtlasConversionConcern.FRACTIONAL_PART}) Character toCharacter(Double value); @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.DATE, concerns = {AtlasConversionConcern.RANGE, AtlasConversionConcern.FRACTIONAL_PART}) Date toDate(Double value); @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.DOUBLE) Double toDouble(Double value); @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.FLOAT, concerns = AtlasConversionConcern.RANGE) Float toFloat(Double value); @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.INTEGER, concerns = {AtlasConversionConcern.RANGE, AtlasConversionConcern.FRACTIONAL_PART}) Integer toInteger(Double value); @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.DATE, concerns = {AtlasConversionConcern.RANGE, AtlasConversionConcern.FRACTIONAL_PART}) LocalDate toLocalDate(Double value); @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.TIME, concerns = {AtlasConversionConcern.RANGE, AtlasConversionConcern.FRACTIONAL_PART}) LocalTime toLocalTime(Double value); @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.DATE_TIME, concerns = {AtlasConversionConcern.RANGE, AtlasConversionConcern.FRACTIONAL_PART}) LocalDateTime toLocalDateTime(Double value); @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.LONG, concerns = AtlasConversionConcern.RANGE) Long toLong(Double value); @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.NUMBER) Number toNumber(Double value); @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.SHORT, concerns = AtlasConversionConcern.RANGE) Short toShort(Double value); @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.STRING) String toString(Double value); @AtlasConversionInfo(sourceType = FieldType.DOUBLE, targetType = FieldType.DATE_TIME_TZ, concerns = {AtlasConversionConcern.RANGE, AtlasConversionConcern.FRACTIONAL_PART}) ZonedDateTime toZonedDateTime(Double value);  }### Answer:
@Test public void convertToDouble() { Double df = 0.0; Double d = converter.toDouble(df); assertNotNull(d); assertNotSame(df, d); assertEquals(0.0, d, 0.0); }
@Test public void convertToDoubleNull() { Double df = null; Double d = converter.toDouble(df); assertNull(d); }