### Question:
FirebaseRemoteConfigValueImpl implements FirebaseRemoteConfigValue { @Override public long asLong() { if (source == FirebaseRemoteConfig.VALUE_SOURCE_STATIC) { return FirebaseRemoteConfig.DEFAULT_VALUE_FOR_LONG; } String valueAsString = asTrimmedString(); try { return Long.valueOf(valueAsString); } catch (NumberFormatException e) { throw new IllegalArgumentException( String.format(ILLEGAL_ARGUMENT_STRING_FORMAT, valueAsString, "long"), 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 asLong_isStaticValue_returnsStaticLong() throws Exception { FirebaseRemoteConfigValue value = new FirebaseRemoteConfigValueImpl( Long.toString(DEFAULT_VALUE_FOR_LONG), VALUE_SOURCE_STATIC); assertThat(value.asLong()).isEqualTo(DEFAULT_VALUE_FOR_LONG); }
@Test public void asLong_isLongValue_returnsLong() throws Exception { long longValue = 555L; FirebaseRemoteConfigValue value = new FirebaseRemoteConfigValueImpl(Long.toString(longValue), VALUE_SOURCE_REMOTE); assertThat(value.asLong()).isEqualTo(longValue); }