import org.codehaus.modello.association.package1.ListSetMapProperties; import org.codehaus.modello.association.package1.Person; import org.codehaus.modello.association.package2.Location; import org.codehaus.modello.verifier.Verifier; import java.util.ArrayList; import java.util.List; import junit.framework.Assert; public class OneToManyAssociationVerifier extends Verifier { public void verify() { // ---------------------------------------------------------------------- // // ---------------------------------------------------------------------- Person person = new Person(); Location location = new Location(); location.getPersons().add( person ); Assert.assertNotNull( "Location.persons == null", location.getPersons() ); Assert.assertEquals( "Location.persons.length != 1", 1, location.getPersons().size() ); Assert.assertEquals( "Location.persons[0]", person, location.getPersons().get( 0 ) ); // ---------------------------------------------------------------------- // // ---------------------------------------------------------------------- person = new Person(); location = new Location(); person.setLocation( location ); Assert.assertNotNull( "Location.persons == null", location.getPersons() ); Assert.assertEquals( "Location.persons.length != 1", 1, location.getPersons().size() ); Assert.assertEquals( "Location.persons[0]", person, location.getPersons().get( 0 ) ); // ---------------------------------------------------------------------- // // ---------------------------------------------------------------------- testList(); testMap(); testProperty(); testSet(); } private void testList() { ListSetMapProperties foo = new ListSetMapProperties(); Person person1 = new Person(); Person person2 = new Person(); foo.addList( person1 ); List list = foo.getList(); Assert.assertEquals( "list.size", 1, list.size() ); Assert.assertEquals( "list[0]", person1, list.get( 0 ) ); foo.removeList( person1 ); Assert.assertEquals( "list.size", 0, list.size() ); list = new ArrayList(); list.add( person1 ); list.add( person2 ); foo.setList( list ); Assert.assertEquals( "list.size", 2, list.size() ); Assert.assertEquals( "list[0]", person1, list.get( 0 ) ); Assert.assertEquals( "list[1]", person2, list.get( 1 ) ); } private void testMap() { ListSetMapProperties foo = new ListSetMapProperties(); Integer i1 = new Integer( 1 ); Integer i2 = new Integer( 2 ); Person person1 = new Person(); Person person2 = new Person(); foo.addMap( i1, person1 ); Assert.assertEquals( "map.size", 1, foo.getMap().size() ); foo.addMap( i1, person1 ); Assert.assertEquals( "map.size", 1, foo.getMap().size() ); foo.addMap( i2, person2 ); Assert.assertEquals( "map.size", 2, foo.getMap().size() ); } private void testProperty() { ListSetMapProperties foo = new ListSetMapProperties(); String i1 = "1"; String i2 = "2"; Person person1 = new Person(); Person person2 = new Person(); foo.addProperty( i1, person1 ); Assert.assertEquals( "properties.size", 1, foo.getProperties().size() ); foo.addProperty( i1, person1 ); Assert.assertEquals( "properties.size", 1, foo.getProperties().size() ); foo.addProperty( i2, person2 ); Assert.assertEquals( "properties.size", 2, foo.getProperties().size() ); } private void testSet() { ListSetMapProperties foo = new ListSetMapProperties(); Person person1 = new Person(); Person person2 = new Person(); foo.addSet( person1 ); Assert.assertEquals( "set.size", 1, foo.getSet().size() ); foo.addSet( person1 ); Assert.assertEquals( "set.size", 1, foo.getSet().size() ); foo.addSet( person2 ); Assert.assertEquals( "set.size", 2, foo.getSet().size() ); } }