Context { public Map<String, Context> getChildren() { return Collections.unmodifiableMap(children); }  Set<String> getKeys(); String get(String key); void put(String key, String value); Map<String, Context> getChildren(); Context getChild(String name); Context createChild(String name); void remove(String nameOrKey); void setId(String id); String getId(); @Override String toString();  }
@Test public void testEmptyContext_shouldHaveNoChildren() throws Exception { assertThat(context.getChildren().size(), is(0)); }
@Test(expected = UnsupportedOperationException.class) public void testIfGetChildrenValuesAreUnmodifiable_shouldBeUnmodifiable() throws Exception { context.getChildren().clear(); }