@Test
public void testDefaultBindingWrite2() throws Exception
{
final ByteArrayResourceStore resourceStore = new ByteArrayResourceStore();
final XmlResourceStore xmlResourceStore = new XmlResourceStore( resourceStore );
final ITestRootElement model = ITestRootElement.TYPE.instantiate( new RootXmlResource( xmlResourceStore ) );
model.resource().setCorruptedResourceExceptionInterceptor
(
new CorruptedResourceExceptionInterceptor()
{
@Override
public boolean shouldAttemptRepair()
{
return true;
}
}
);
model.setValuePropertyA( "aaaa" );
model.setValuePropertyB( "bbbb" );
final ITestChildElementA listChild1 = (ITestChildElementA) model.getListPropertyA().insert( ITestChildElementA.TYPE );
listChild1.setValuePropertyA( "cccc" );
final ITestChildElementB listChild2 = (ITestChildElementB) model.getListPropertyA().insert( ITestChildElementB.TYPE );
listChild2.setValuePropertyB( "dddd" );
final ITestChildElementA listChild3 = (ITestChildElementA) model.getListPropertyA().insert( ITestChildElementA.TYPE );
listChild3.setValuePropertyA( "eeee" );
final ITestChildElementB elementChild = (ITestChildElementB) model.getElementPropertyA().content( true, ITestChildElementB.TYPE );
elementChild.setValuePropertyB( "ffff" );
model.resource().save();
final String result = new String( resourceStore.getContents(), UTF8 );
assertEqualsIgnoreNewLineDiffs( loadResource( "TestData.txt" ), result );
}