### Question:
ConfigKeyImpl implements Config.Key { @Override public int compareTo(Config.Key that) { return toString().compareTo(that.toString()); } private  ConfigKeyImpl(ConfigKeyImpl parent, String name); @Override ConfigKeyImpl parent(); @Override boolean isRoot(); @Override ConfigKeyImpl child(Config.Key key); @Override String name(); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode(); @Override int compareTo(Config.Key that);  }### Answer:
@Test public void testCompareTo() { assertThat(ConfigKeyImpl.of("").compareTo(ConfigKeyImpl.of()), is(0)); assertThat(ConfigKeyImpl.of("aaa").compareTo(ConfigKeyImpl.of("bbb")), is(lessThan(0))); assertThat(ConfigKeyImpl.of("bbb").compareTo(ConfigKeyImpl.of("aaa")), is(greaterThan(0))); assertThat(ConfigKeyImpl.of("aaa").compareTo(ConfigKeyImpl.of("aaa.bbb")), is(lessThan(0))); assertThat(ConfigKeyImpl.of("aaa.bbb").compareTo(ConfigKeyImpl.of("aaa")), is(greaterThan(0))); }