You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by ni...@apache.org on 2017/04/10 04:02:50 UTC
polygene-java git commit: POLYGENE-54 - Adding more tests of new
converter feature.
Repository: polygene-java
Updated Branches:
refs/heads/develop 51c6c27c3 -> 6d8d97ec0
POLYGENE-54 - Adding more tests of new converter feature.
Project: http://git-wip-us.apache.org/repos/asf/polygene-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/polygene-java/commit/6d8d97ec
Tree: http://git-wip-us.apache.org/repos/asf/polygene-java/tree/6d8d97ec
Diff: http://git-wip-us.apache.org/repos/asf/polygene-java/diff/6d8d97ec
Branch: refs/heads/develop
Commit: 6d8d97ec06b775caeeb8ae7bf70082ab673f9746
Parents: 51c6c27
Author: niclas <ni...@spicter.com>
Authored: Mon Apr 10 12:01:46 2017 +0800
Committer: niclas <ni...@spicter.com>
Committed: Mon Apr 10 12:01:46 2017 +0800
----------------------------------------------------------------------
.../api/unitofwork/ToValueConversionTest.java | 48 +++++++++++++++-----
1 file changed, 37 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/polygene-java/blob/6d8d97ec/core/api/src/test/java/org/apache/polygene/api/unitofwork/ToValueConversionTest.java
----------------------------------------------------------------------
diff --git a/core/api/src/test/java/org/apache/polygene/api/unitofwork/ToValueConversionTest.java b/core/api/src/test/java/org/apache/polygene/api/unitofwork/ToValueConversionTest.java
index d091745..08751d4 100644
--- a/core/api/src/test/java/org/apache/polygene/api/unitofwork/ToValueConversionTest.java
+++ b/core/api/src/test/java/org/apache/polygene/api/unitofwork/ToValueConversionTest.java
@@ -20,6 +20,7 @@
package org.apache.polygene.api.unitofwork;
import java.util.Map;
+import java.util.Set;
import java.util.function.Function;
import java.util.stream.Stream;
import org.apache.polygene.api.association.Association;
@@ -46,6 +47,7 @@ import org.apache.polygene.test.AbstractPolygeneTest;
import org.apache.polygene.test.EntityTestAssembler;
import org.junit.Test;
+import static org.hamcrest.core.AnyOf.anyOf;
import static org.hamcrest.core.IsEqual.equalTo;
import static org.junit.Assert.assertThat;
@@ -62,39 +64,63 @@ public class ToValueConversionTest
}
@Test
- public void testPropertyConversionToValue()
+ public void testConversionToValue()
throws Exception
{
- Identity identity = new StringIdentity( "Niclas" );
Usecase usecase = UsecaseBuilder.buildUsecase( "test case" )
.withMetaInfo( new SomeValueConverter() )
.newUsecase();
+ SomeType value;
try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork(usecase) )
{
- EntityBuilder<SomeType> builder = uow.newEntityBuilder( SomeType.class, identity );
- builder.instance().name().set( "Niclas" );
- SomeType entity = builder.newInstance();
- SomeType value = uow.toValue( SomeType.class, entity );
+ SomeType entity1 = createEntity( uow, new StringIdentity( "Niclas" ) );
+ SomeType entity2 = createEntity( uow, new StringIdentity( "Paul" ) );
+ SomeType entity3 = createEntity( uow, new StringIdentity( "Jiri" ) );
+ SomeType entity4 = createEntity( uow, new StringIdentity( "Kent" ) );
+ SomeType entity5 = createEntity( uow, new StringIdentity( "Stan" ) );
+ entity1.assoc().set( entity2 );
+ entity1.many().add( entity3 );
+ entity1.named().put( "kent", entity4 );
+ entity1.named().put( "stan", entity5 );
- assertThat( value.name().get(), equalTo( "[Niclas]" ) );
- assertThat( value.identity().get(), equalTo( identity ) );
+ value = uow.toValue( SomeType.class, entity1 );
uow.complete();
+
+ }
+ try( UnitOfWork uow = unitOfWorkFactory.newUnitOfWork(usecase) )
+ {
+ assertThat( value.identity().get(), equalTo( new StringIdentity( "Niclas" ) ) );
+ assertThat( value.name().get(), equalTo( "[Niclas]" ) );
+
+ assertThat( uow.toValue( SomeType.class, value.assoc().get()).name().get(), equalTo( "[Paul]" ));
+ assertThat( uow.toValueList( value.many() ).get(0).name().get(), equalTo( "[Jiri]" ));
+ assertThat( uow.toValueSet( value.many() ).iterator().next().name().get(), equalTo( "[Jiri]" ));
+ Set<Map.Entry<String, SomeType>> actual = uow.toValueMap( value.named() ).entrySet();
+ assertThat( actual.iterator().next().getKey(), anyOf(equalTo( "stan" ), equalTo( "kent" )) );
+ assertThat( actual.iterator().next().getValue().name().get(), anyOf(equalTo( "[Stan]" ), equalTo( "[Kent]" )) );
}
}
+ private SomeType createEntity( UnitOfWork uow, Identity identity )
+ {
+ EntityBuilder<SomeType> builder = uow.newEntityBuilder( SomeType.class, identity );
+ builder.instance().name().set( identity.toString() );
+ return builder.newInstance();
+ }
+
interface SomeType extends HasIdentity
{
Property<String> name();
@Optional
- Association<String> assoc();
+ Association<SomeType> assoc();
@UseDefaults
- ManyAssociation<String> many();
+ ManyAssociation<SomeType> many();
@UseDefaults
- NamedAssociation<String> named();
+ NamedAssociation<SomeType> named();
}
private static class SomeValueConverter