DefaultConfigurationSnapshot implements ConfigurationSnapshot, Serializable { @Override public String getOrDefault(String key, String defaultValue) { return this.snapshot.getOrDefault(key, defaultValue); } DefaultConfigurationSnapshot(Configuration config, Iterable<String> keys);  DefaultConfigurationSnapshot(Configuration config); @Override ConfigurationSnapshot getSnapshot(Iterable<String> keys); @Override Set<String> getKeys(); @Override String get(String key); @Override String getOrDefault(String key, String defaultValue); @Override T getOrDefault(String key, Class<T> type, T defaultValue); @SuppressWarnings("unchecked") @Override T get(String key, Class<T> type); @Override T get(String key, TypeLiteral<T> type); @Override T getOrDefault(String key, TypeLiteral<T> type, T defaultValue); @Override Map<String, String> getProperties(); @Override ConfigurationContext getContext(); @Override long getTimestamp(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); UUID getId();  }
@Test public void testGetOrDefault() { Configuration config = Configuration.current(); DefaultConfigurationSnapshot snapshot = new DefaultConfigurationSnapshot(config, Arrays.asList("confkey1", "confkey2", "confkey3")); assertThat("javaconf-value1").isEqualTo(snapshot.getOrDefault("confkey1", "foo")); assertThat("javaconf-value2").isEqualTo(snapshot.getOrDefault("confkey2", "foo")); assertThat("javaconf-value2").isEqualTo(snapshot.getOrDefault("confkey2", String.class,"foo")); assertThat("javaconf-value3").isEqualTo(snapshot.getOrDefault("confkey3", "foo")); assertThat("foo").isEqualTo(snapshot.getOrDefault("confkey4", "foo")); assertThat("foo").isEqualTo(snapshot.getOrDefault("confkey4", String.class,"foo")); }
@Test public void testGetOrDefault_with_MultiKey() { Configuration config = Configuration.current(); DefaultConfigurationSnapshot snapshot = new DefaultConfigurationSnapshot(config, Arrays.asList("confkey1", "confkey2", "confkey3")); assertThat("javaconf-value1").isEqualTo(snapshot.getOrDefault(Arrays.asList("confkey1", "foo"), "foo")); assertThat("foo").isEqualTo(snapshot.getOrDefault(Arrays.asList("confkeyNone", "foo"), "foo")); assertThat("javaconf-value1").isEqualTo(snapshot.getOrDefault(Arrays.asList("confkey1", "foo"), String.class, "foo")); assertThat("foo").isEqualTo(snapshot.getOrDefault(Arrays.asList("confkeyNone", "foo"), String.class, "foo")); }