3636import java .util .Arrays ;
3737import java .util .Date ;
3838import java .util .List ;
39- import java .util .concurrent .RejectedExecutionException ;
4039
4140import static io .objectbox .TestEntity_ .simpleBoolean ;
4241import static io .objectbox .TestEntity_ .simpleByteArray ;
@@ -147,7 +146,7 @@ private void assertThrowsQueryIsClosed(ThrowingRunnable runnable) {
147146 }
148147
149148 @ Test
150- public void useAfterStoreClose_failsIfUsingStore () {
149+ public void useAfterStoreClose_fails () {
151150 Query <TestEntity > query = box .query (
152151 simpleString .equal ("" )
153152 .and (stringObjectMap .containsKeyValue ("" , "" ))
@@ -171,33 +170,25 @@ public void useAfterStoreClose_failsIfUsingStore() {
171170 assertThrowsStoreIsClosed (query ::findLazyCached );
172171 assertThrowsStoreIsClosed (query ::findUnique );
173172 assertThrowsStoreIsClosed (query ::remove );
174-
175- // describe works, but returns no property info.
176- assertEquals ("Query for entity <deleted entity type> with 15 conditions" , query .describe ());
177-
178- // describeParameters does not work.
179- IllegalStateException exc = assertThrows (IllegalStateException .class , query ::describeParameters );
180- assertEquals ("Query cannot be used after entity type was deleted (e.g. store was closed)" , exc .getMessage ());
181-
182- // setParameter continues to work.
183- query .setParameter (simpleString , "value" );
184- query .setParameters (stringObjectMap , "a" , "b" );
185- query .setParameter (simpleInt , 1 );
186- query .setParameters ("oneOf4" , new int []{1 , 2 });
187- query .setParameters ("oneOf8" , new long []{1 , 2 });
188- query .setParameters ("between" , 1 , 2 );
189- query .setParameter (simpleInt , 1.0 );
190- query .setParameters ("between" , 1.0 , 2.0 );
191- query .setParameters ("oneOfS" , new String []{"a" , "b" });
192- query .setParameter (simpleByteArray , new byte []{1 , 2 });
193-
194173 assertThrowsStoreIsClosed (() -> query .subscribe ().observer (data -> {
195174 }));
175+ assertThrowsStoreIsClosed (query ::describe );
176+ assertThrowsStoreIsClosed (query ::describeParameters );
177+ assertThrowsStoreIsClosed (() -> query .setParameter (simpleString , "value" ));
178+ assertThrowsStoreIsClosed (() -> query .setParameters (stringObjectMap , "a" , "b" ));
179+ assertThrowsStoreIsClosed (() -> query .setParameter (simpleInt , 1 ));
180+ assertThrowsStoreIsClosed (() -> query .setParameters ("oneOf4" , new int []{1 , 2 }));
181+ assertThrowsStoreIsClosed (() -> query .setParameters ("oneOf8" , new long []{1 , 2 }));
182+ assertThrowsStoreIsClosed (() -> query .setParameters ("between" , 1 , 2 ));
183+ assertThrowsStoreIsClosed (() -> query .setParameter (simpleInt , 1.0 ));
184+ assertThrowsStoreIsClosed (() -> query .setParameters ("between" , 1.0 , 2.0 ));
185+ assertThrowsStoreIsClosed (() -> query .setParameters ("oneOfS" , new String []{"a" , "b" }));
186+ assertThrowsStoreIsClosed (() -> query .setParameter (simpleByteArray , new byte []{1 , 2 }));
196187 }
197188
198189 private void assertThrowsStoreIsClosed (ThrowingRunnable runnable ) {
199190 IllegalStateException ex = assertThrows (IllegalStateException .class , runnable );
200- assertEquals ("Store is closed" , ex .getMessage ());
191+ assertEquals ("The store associated with this query is closed. Build and use a new one. " , ex .getMessage ());
201192 }
202193
203194 @ Test
0 commit comments