### Question:
FirebaseRemoteConfigValueImpl implements FirebaseRemoteConfigValue { @Override public String asString() { if (source == FirebaseRemoteConfig.VALUE_SOURCE_STATIC) { return FirebaseRemoteConfig.DEFAULT_VALUE_FOR_STRING; } throwIfNullValue(); return value; } 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 asString_isStaticValue_returnsStaticString() throws Exception { FirebaseRemoteConfigValue value = new FirebaseRemoteConfigValueImpl(DEFAULT_VALUE_FOR_STRING, VALUE_SOURCE_STATIC); assertThat(value.asString()).isEqualTo(DEFAULT_VALUE_FOR_STRING); }
@Test public void asString_isNonStaticValue_returnsString() throws Exception { String stringValue = "string value"; FirebaseRemoteConfigValue value = new FirebaseRemoteConfigValueImpl(stringValue, VALUE_SOURCE_REMOTE); assertThat(value.asString()).isEqualTo(stringValue); }