1919import static org .junit .Assert .assertNotNull ;
2020import static org .junit .Assert .assertTrue ;
2121
22+ import java .util .Arrays ;
2223import java .util .Iterator ;
2324
2425import org .junit .FixMethodOrder ;
2930
3031import com .marklogic .client .pojo .PojoPage ;
3132import com .marklogic .client .pojo .PojoRepository ;
33+ import com .marklogic .client .query .QueryDefinition ;
3234import com .marklogic .client .query .StringQueryDefinition ;
35+ import com .marklogic .client .pojo .PojoQueryBuilder ;
3336import com .marklogic .client .test .BulkReadWriteTest ;
3437import com .marklogic .client .test .BulkReadWriteTest .City ;
3538import com .marklogic .client .test .BulkReadWriteTest .CityWriter ;
@@ -45,7 +48,7 @@ public class PojoFacadeTest {
4548 public static void beforeClass () {
4649 Common .connect ();
4750 repository = Common .client .newPojoRepository (City .class , Integer .class );
48- // System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.wire", "debug");
51+ System .setProperty ("org.apache.commons.logging.simplelog.log.org.apache.http.wire" , "debug" );
4952 }
5053 @ AfterClass
5154 public static void afterClass () {
@@ -90,17 +93,57 @@ public void testB_ReadPojos() throws Exception {
9093 }
9194
9295 @ Test
93- public void testC_DeletePojos () throws Exception {
96+ public void testC_QueryPojos () throws Exception {
97+ PojoQueryBuilder <City > qb = repository .getQueryBuilder ();
98+ QueryDefinition query = qb .word ("Tungi" , "Dalatando" , "Chittagong" );
99+ PojoPage <City > page = repository .search (query , 1 );
100+ Iterator <City > iterator = page .iterator ();
101+ int numRead = 0 ;
102+ while ( iterator .hasNext () ) {
103+ numRead ++;
104+ }
105+ assertEquals ("Failed to find number of records expected" , 3 , numRead );
106+ assertEquals ("PojoPage failed to report number of records expected" , numRead , page .size ());
107+
108+ qb = repository .getQueryBuilder ();
109+ query = qb .value ("continent" , "AF" );
110+ page = repository .search (query , 1 );
111+ iterator = page .iterator ();
112+ numRead = 0 ;
113+ while ( iterator .hasNext () ) {
114+ City city = iterator .next ();
115+ assertEquals ("Wrong continent" , "AF" , city .getContinent ());
116+ numRead ++;
117+ }
118+ assertEquals ("Failed to find number of records expected" , 7 , numRead );
119+ assertEquals ("PojoPage failed to report number of records expected" , numRead , page .size ());
120+
121+ query = qb .containerQuery ("alternateNames" , qb .word ("San" , "Santo" ));
122+ page = repository .search (query , 1 );
123+ iterator = page .iterator ();
124+ numRead = 0 ;
125+ while ( iterator .hasNext () ) {
126+ City city = iterator .next ();
127+ String alternateNames = Arrays .asList (city .getAlternateNames ()).toString ();
128+ assertTrue ("Should contain San" , alternateNames .contains ("San" ));
129+ numRead ++;
130+ }
131+ assertEquals ("Failed to find number of records expected" , 11 , numRead );
132+ assertEquals ("PojoPage failed to report number of records expected" , numRead , page .size ());
133+ }
134+
135+ @ Test
136+ public void testD_DeletePojos () throws Exception {
94137 repository .delete (1185098 , 2239076 );
95138 StringQueryDefinition query = Common .client .newQueryManager ().newStringDefinition ();
96139 query .setCriteria ("Tungi OR Dalatando OR Chittagong" );
97140 PojoPage <City > page = repository .search (query , 1 );
98141 assertEquals ("Failed to read number of records expected" , 1 , page .getTotalSize ());
99142
100143 // now delete them all
101- repository .delete ((String )null );
102- page = repository .search ( query , 1 );
103- assertEquals ("Failed to read number of records expected" , 0 , page . getTotalSize () );
144+ // repository.delete((String)null);
145+ long count = repository .count (( String ) null );
146+ assertEquals ("Failed to read number of records expected" , 0 , count );
104147 }
105148
106149 private void validateCity (City city ) {
0 commit comments