}
@Test
public void testAssociation()
{
UnitOfWork unitOfWork = module.newUnitOfWork();
try
{
Company company = unitOfWork.newEntity( Company.class );
Assert.assertEquals( "Company Name Default", "A Company", company.name().get() );
{
EntityBuilder<Company> builder = unitOfWork.newEntityBuilder( Company.class );
final Company companyPrototype = builder.instance();
companyPrototype.name().set( "JayWay" );
company = builder.newInstance();
Assert.assertEquals( "Company Name ", "JayWay", company.name().get() );
}
company.name().set( "Jayway" );
Assert.assertEquals( "Company Name ", "Jayway", company.name().get() );
System.out.println( "Name is:" + company.name().get() );
EntityBuilder<Person> builder = unitOfWork.newEntityBuilder( Person.class );
builder.instance().name().set( "Rickard" );
Person rickard = builder.newInstance();
builder = unitOfWork.newEntityBuilder( Person.class );
builder.instance().name().set( "Niclas" );
builder.instance().friend().set( rickard );
Person niclas = builder.newInstance();
niclas.members().add( rickard );
company.employees().add( 0, rickard );
for( Employer employer : rickard.employers() )
{
System.out.println( ( (Nameable) employer ).name() );
}
Assert.assertEquals( niclas.friend().get(), rickard );
Assert.assertEquals( niclas.members().get(0), rickard );
}
finally
{
unitOfWork.discard();
}
}