java.util.Date date3 = date("2010-02-27");
Key key1 = KeyFactory.createKey("Test", 1);
Key key11 = KeyFactory.createKey("Test", 11);
Key key2 = KeyFactory.createKey("Test", 2);
Key key3 = KeyFactory.createKey("Test", 3);
GeoPt geopt1 = new GeoPt( 1f, 1.1f );
GeoPt geopt11 = new GeoPt( 1f, 1.11f );
GeoPt geopt2 = new GeoPt( 1f, 1.2f );
GeoPt geopt3 = new GeoPt( 2f, 1.1f );
User user1 = new User( "user@foo.com", "gmail.com" );
User user11 = new User( "user11@foo.com", "gmail.com" );
User user2 = new User( "user2@foo.com", "gmail.com" );
User user3 = new User( "user3@foo.com", "gmail.com" );
String skey1 = KeyFactory.keyToString( key1 );
String skey2 = KeyFactory.keyToString( key2 );
GaeGqlList dto = new GaeGqlList();
dto.setUdateType( Arrays.asList( date1, date11 ));
dto.setKeyType( Arrays.asList( key1, key11 ));
dto.setGeoptType( Arrays.asList( geopt1, geopt11 ));
dto.setUserType( Arrays.asList( user1, user11 ));
dao.insert( dto );
dto = new GaeGqlList();
dto.setUdateType( Arrays.asList( date2 ));
dto.setKeyType( Arrays.asList( key2 ));
dto.setGeoptType( Arrays.asList( geopt2 ));
dto.setUserType( Arrays.asList( user2 ));
dao.insert( dto );
dto = new GaeGqlList();
dto.setUdateType( Arrays.asList( date11 ));
dto.setKeyType( Arrays.asList( key11 ));
dto.setGeoptType( Arrays.asList( geopt11 ));
dto.setUserType( Arrays.asList( user11 ));
dao.insert( dto );
assertEquals( "udate 1 bla", 1, dao.findByUdateOrUdate( 2010,2,25, 2010,2,27,0,0,0).length);
assertEquals( "udate 1 2", 2, dao.findByUdateOrUdate( 2010,2,25, 2010,2,26,0,0,0).length);
assertEquals( "udate 1 11", 2, dao.findByUdateOrUdate( 2010,2,25, 2010,2,25,11,12,13).length);
assertEquals( "udate 2 11", 3, dao.findByUdateOrUdate( 2010,2,26, 2010,2,25,11,12,13).length);
assertEquals( "key 1 bla", 1, dao.findByKeyOrKey( skey1, key3.getId()).length);
assertEquals( "key 1 2", 2, dao.findByKeyOrKey( skey1, key2.getId()).length);
assertEquals( "key 1 11", 2, dao.findByKeyOrKey( skey1, key11.getId()).length);
assertEquals( "key 2 11", 3, dao.findByKeyOrKey( skey2, key11.getId()).length);
assertEquals( "geopt 1 bla", 1, dao.findByGeoptOrGeopt(
(double)geopt1.getLatitude(), (double)geopt1.getLongitude(),
(double)geopt3.getLatitude(), (double)geopt3.getLongitude()).length);
assertEquals( "geopt 1 2", 2, dao.findByGeoptOrGeopt(
(double)geopt1.getLatitude(), (double)geopt1.getLongitude(),
(double)geopt2.getLatitude(), (double)geopt2.getLongitude()).length);