package com.processpuzzle.persistence.domain; import static org.hamcrest.Matchers.equalTo; import static org.junit.Assert.assertThat; import java.sql.ResultSet; import java.sql.SQLException; import org.junit.Ignore; import org.junit.Test; import com.processpuzzle.litest.template.RepositoryTestTemplate; public class ComponentRepositoryTest extends RepositoryTestTemplate<ComponentRepository, ComponentRepositoryTestFixture, Component> { protected ComponentRepositoryTest( String fixtureContainerConfigurationPath ) { super( fixtureContainerConfigurationPath ); } @Test public void testAdd_ForComposite() throws SQLException { ResultSet leafRecord = databaseSpy.retrieveRecord( ComponentRepositoryTestFixture.LEAF_TABLE_NAME, fixture.getLeafOne().getId() ); assertThat( (Integer) databaseSpy.retrieveColumnFromRecord( leafRecord, Integer.class, "id" ), equalTo( fixture.getLeafOne().getId() )); /* ResultSet leafAsComponentRecord = retrieveRecord( COMPONENT_TABLE_NAME, leafOne.getId() ); assertThat( (String) retrieveColumnFromRecord( leafAsComponentRecord, String.class, "name" ), equalTo( leafOne.getName() )); assertThat( (Integer) retrieveColumnFromRecord( leafAsComponentRecord, Integer.class, "COMPOSITE_ID" ), equalTo( composite.getId() )); ResultSet compositeAsComponentRecord = retrieveRecord( COMPONENT_TABLE_NAME, composite.getId() ); assertThat( (String) retrieveColumnFromRecord( compositeAsComponentRecord, String.class, "name" ), equalTo( composite.getName() )); assertThat( (Integer) retrieveColumnFromRecord( compositeAsComponentRecord, Integer.class, "COMPOSITE_ID" ), equalTo( 0 ) ); */ ResultSet compositeRecord = databaseSpy.retrieveRecord( ComponentRepositoryTestFixture.COMPOSITE_TABLE_NAME, fixture.getComposite().getId() ); assertThat( (Integer) databaseSpy.retrieveColumnFromRecord( compositeRecord, Integer.class, "ID" ), equalTo( fixture.getComposite().getId() )); //--------------------- assertThat( (Leaf)findComponentByName( fixture.getLeafOne().getName(), fixture.getComposite() ), equalTo( fixture.getLeafOne() )); assertThat( fixture.getComposite().getComponents().size(), equalTo( 1 )); assertThat( fixture.getLeafOne().getParent(), equalTo( fixture.getComposite() )); } @Override @Ignore public void testAdd_ForOwnedAttributesAndComponents() throws Exception { } @Override @Ignore public void testAdd_ForReferencedAggregateRoots() { } @Override @Ignore public void testDelete_ForOwnedAttributesAndComponents() { } @Override @Ignore public void testFindAll_ForResultCount() { } @Override @Ignore public void testFindById() { } @Override @Ignore public void testFindById_ForEagerLoadedComponents() { } @Override @Ignore public void testFindById_ForLazyLoadedComponents() { } @Override @Ignore public void testFindByQuery_ForComponentAttributes() { // TODO Auto-generated method stub } @Override @Ignore public void testFindByQuery_ForDirectAttributes() { // TODO Auto-generated method stub } @Override @Ignore public void testUpdate_ForOwnedAttributesAndComponents() throws Exception { // TODO Auto-generated method stub } @Override @Ignore public void testUpdate_ForReferencedAggregateRoots() { // TODO Auto-generated method stub } private Component findComponentByName( String componentName, Composite composite ) { for( Component component : composite.getComponents() ) { if( component.getName().equals( componentName )) return component; } return null; } }