### Question:
FirebaseRemoteConfigValueImpl implements FirebaseRemoteConfigValue { @Override public double asDouble() { if (source == FirebaseRemoteConfig.VALUE_SOURCE_STATIC) { return FirebaseRemoteConfig.DEFAULT_VALUE_FOR_DOUBLE; } String valueAsString = asTrimmedString(); try { return Double.valueOf(valueAsString); } catch (NumberFormatException e) { throw new IllegalArgumentException( String.format(ILLEGAL_ARGUMENT_STRING_FORMAT, valueAsString, "double"), e); } } FirebaseRemoteConfigValueImpl(String value, int source); @Override long asLong(); @Override double asDouble(); @Override String asString(); @Override byte[] asByteArray(); @Override boolean asBoolean(); @Override int getSource();  }### Answer:
@Test public void asDouble_isStaticValue_returnsStaticDouble() throws Exception { FirebaseRemoteConfigValue value = new FirebaseRemoteConfigValueImpl( Double.toString(DEFAULT_VALUE_FOR_DOUBLE), VALUE_SOURCE_STATIC); assertThat(value.asDouble()).isEqualTo(DEFAULT_VALUE_FOR_DOUBLE); }
@Test public void asDouble_isDoubleValue_returnsDouble() throws Exception { double doubleValue = 555.5D; FirebaseRemoteConfigValue value = new FirebaseRemoteConfigValueImpl(Double.toString(doubleValue), VALUE_SOURCE_REMOTE); assertThat(value.asDouble()).isEqualTo(doubleValue); }