TrialAppProperties implements AppProperties { @Override public boolean isValid() { return missingKeys.isEmpty(); } TrialAppProperties(Map<String, Object> values);  TrialAppProperties(Map<String, Object> values, List<String> missingKeys);  TrialAppProperties(); @Override List<String> getMissingProperties(); @Override List<String> getKnownProperties(); @Override boolean isValid(); @Override void clear(); @Override Object get(String key); @Override String toString();  }
@Test public void isValidFailsWhenMissing() { TrialAppProperties props = new TrialAppProperties(Collections.singletonMap("key1", 12), Arrays.asList("missingKey")); assertFalse(props.isValid()); }