public class OperatorsTest
{
@Test
public void testOperators() throws UnitOfWorkCompletionException
{
SingletonAssembler assembler = new SingletonAssembler()
{
@Override
public void assemble( ModuleAssembly module ) throws AssemblyException
{
new EntityTestAssembler( ).assemble( module );
module.entities( TestEntity.class );
module.values( TestValue.class );
module.forMixin( TestEntity.class ).declareDefaults().foo().set( "Bar" );
module.forMixin( TestValue.class ).declareDefaults().bar().set( "Xyz" );
}
};
UnitOfWork uow = assembler.module().newUnitOfWork();
try
{
EntityBuilder<TestEntity> entityBuilder = uow.newEntityBuilder( TestEntity.class, "123" );
entityBuilder.instance().value().set( assembler.module().newValue( TestValue.class ) );
TestEntity testEntity = entityBuilder.newInstance();
uow.complete();
uow = assembler.module().newUnitOfWork();
Iterable<TestEntity> entities = Iterables.iterable( testEntity = uow.get( testEntity ) );
QueryBuilder<TestEntity> builder = assembler.module().newQueryBuilder( TestEntity.class );
{
Specification<Composite> where = QueryExpressions.eq( QueryExpressions.templateFor( TestEntity.class ).foo(), "Bar" );
Assert.assertTrue( where.satisfiedBy( testEntity ) );
System.out.println(where);