assertEquals( "value: v file: f", inserts );
}
public void testOverrideAndInherit() {
PropertySet a = new PropertySet();
a.set( "n1", "a1" );
a.set( "n2", "$<n1>" );
a.set( "n3", "$<n3>" );
a.set( "n4", "x$<n1>y" );
a.set( "n5", "x$<n3>y" );
a.set( "n7", "a7" );
assertEquals( "a1", a.get( "n1" ) );
assertEquals( "a1", a.get( "n2" ) );
assertEquals( "$<n3>", a.get( "n3" ) );
assertEquals( "xa1y", a.get( "n4" ) );
assertEquals( "x$<n3>y", a.get( "n5" ) );
assertEquals( "a7", a.get( "n7" ) );
PropertySet b = new PropertySet();
b.set( "n1", "b1" );
b.set( "n2", "b2" );
b.set( "n3", "b3" );
b.set( "n6", "b6" );
b.set( "n7", "x$<n7>y" );
PropertySet bo = (PropertySet) b.clone();
bo.overrideWith( a );
System.out.println( bo );
assertEquals( "a1", bo.getSourceValue( "n1" ) );
assertEquals( "a1", bo.get( "n1" ) );
assertEquals( "$<n1>", bo.getSourceValue( "n2" ) );
assertEquals( "a1", bo.get( "n2" ) );
assertEquals( "b3", bo.getSourceValue( "n3" ) );
assertEquals( "b3", bo.get( "n3" ) );
assertEquals( "x$<n1>y", bo.getSourceValue( "n4" ) );
assertEquals( "xa1y", bo.get( "n4" ) );
assertEquals( "x$<n3>y", bo.getSourceValue( "n5" ) );
assertEquals( "xb3y", bo.get( "n5" ) );
assertEquals( "b6", bo.getSourceValue( "n6" ) );
assertEquals( "b6", bo.get( "n6" ) );
assertEquals( "a7", bo.getSourceValue( "n7" ) );
assertEquals( "a7", bo.get( "n7" ) );
PropertySet bi = (PropertySet) b.clone();
bi.inheritFrom( a );
assertEquals( "b1", bi.getSourceValue( "n1" ) );
assertEquals( "b1", bi.get( "n1" ) );
assertEquals( "b2", bi.getSourceValue( "n2" ) );
assertEquals( "b2", bi.get( "n2" ) );
assertEquals( "b3", bi.getSourceValue( "n3" ) );
assertEquals( "b3", bi.get( "n3" ) );
assertEquals( "x$<n1>y", bi.getSourceValue( "n4" ) );
assertEquals( "xb1y", bi.get( "n4" ) );
assertEquals( "x$<n3>y", bi.getSourceValue( "n5" ) );
assertEquals( "xb3y", bi.get( "n5" ) );
assertEquals( "b6", bi.getSourceValue( "n6" ) );
assertEquals( "b6", bi.get( "n6" ) );
assertEquals( "xa7y", bi.getSourceValue( "n7" ) );
assertEquals( "xa7y", bi.get( "n7" ) );
}