public void Can_merge_objects()
{
var hocon1 = @"
a {
b = 123
c = 456
d = 789
sub {
aa = 123
}
}
";
var hocon2 = @"
a {
c = 999
e = 888
sub {
bb = 456
}
}
";
var root1 = Parser.Parse(hocon1,null);
var root2 = Parser.Parse(hocon2, null);
var obj1 = root1.Value.GetObject();
var obj2 = root2.Value.GetObject();
obj1.Merge(obj2);
var config = new Config(root1);
Assert.Equal(123, config.GetInt("a.b"));
Assert.Equal(456, config.GetInt("a.c"));
Assert.Equal(789, config.GetInt("a.d"));
Assert.Equal(888, config.GetInt("a.e"));
Assert.Equal(888, config.GetInt("a.e"));
Assert.Equal(123, config.GetInt("a.sub.aa"));
Assert.Equal(456, config.GetInt("a.sub.bb"));
}