@@ -146,7 +146,7 @@ private void assertThrowsQueryIsClosed(ThrowingRunnable runnable) {
146146 }
147147
148148 @ Test
149- public void useAfterStoreClose_fails () {
149+ public void useAfterStoreClose_failsIfUsingStore () {
150150 Query <TestEntity > query = box .query (
151151 simpleString .equal ("" )
152152 .and (stringObjectMap .containsKeyValue ("" , "" ))
@@ -172,23 +172,34 @@ public void useAfterStoreClose_fails() {
172172 assertThrowsStoreIsClosed (query ::remove );
173173 assertThrowsStoreIsClosed (() -> query .subscribe ().observer (data -> {
174174 }));
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 }));
175+
176+ // describe works, but returns no property info.
177+ assertEquals ("Query for entity <deleted entity type> with 15 conditions" , query .describe ());
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 throws.
183+ assertThrowsEntityDeleted (() -> query .setParameter (simpleString , "value" ));
184+ assertThrowsEntityDeleted (() -> query .setParameters (stringObjectMap , "a" , "b" ));
185+ assertThrowsEntityDeleted (() -> query .setParameter (simpleInt , 1 ));
186+ assertThrowsEntityDeleted (() -> query .setParameters ("oneOf4" , new int []{1 , 2 }));
187+ assertThrowsEntityDeleted (() -> query .setParameters ("oneOf8" , new long []{1 , 2 }));
188+ assertThrowsEntityDeleted (() -> query .setParameters ("between" , 1 , 2 ));
189+ assertThrowsEntityDeleted (() -> query .setParameter (simpleInt , 1.0 ));
190+ assertThrowsEntityDeleted (() -> query .setParameters ("between" , 1.0 , 2.0 ));
191+ assertThrowsEntityDeleted (() -> query .setParameters ("oneOfS" , new String []{"a" , "b" }));
192+ assertThrowsEntityDeleted (() -> query .setParameter (simpleByteArray , new byte []{1 , 2 }));
187193 }
188194
189195 private void assertThrowsStoreIsClosed (ThrowingRunnable runnable ) {
190196 IllegalStateException ex = assertThrows (IllegalStateException .class , runnable );
191- assertEquals ("The store associated with this query is closed. Build and use a new one." , ex .getMessage ());
197+ assertEquals ("Store is closed" , ex .getMessage ());
198+ }
199+
200+ private void assertThrowsEntityDeleted (ThrowingRunnable runnable ) {
201+ IllegalStateException ex = assertThrows (IllegalStateException .class , runnable );
202+ assertEquals ("Query cannot be used after entity type was deleted (e.g. store was closed)" , ex .getMessage ());
192203 }
193204
194205 @ Test
0 commit comments