@Test public void testMergeValues() { SimpleConfigurationNode first = SimpleConfigurationNode.root(); SimpleConfigurationNode second = SimpleConfigurationNode.root(); first.getNode("scalar").setValue("one"); first.getNode("absent").setValue("butmerged"); second.getNode("scalar").setValue("two"); ConfigurationNode firstAbsentMap = first.getNode("absent-map"); firstAbsentMap.getNode("a").setValue("one"); firstAbsentMap.getNode("b").setValue("two"); ConfigurationNode firstMergedMap = first.getNode("merged-map"); ConfigurationNode secondMergedMap = second.getNode("merged-map"); firstMergedMap.getNode("source").setValue("first"); secondMergedMap.getNode("source").setValue("second"); firstMergedMap.getNode("first-only").setValue("yeah"); secondMergedMap.getNode("second-only").setValue("yeah"); second.mergeValuesFrom(first); assertEquals("two", second.getNode("scalar").getString()); assertEquals("butmerged", second.getNode("absent").getString()); assertEquals("one", second.getNode("absent-map", "a").getString()); assertEquals("two", second.getNode("absent-map", "b").getString()); assertEquals("second", second.getNode("merged-map", "source").getString()); assertEquals("yeah", second.getNode("merged-map", "first-only").getString()); assertEquals("yeah", second.getNode("merged-map", "second-only").getString()); }