int limit = state.limit(); if (limit >= 0) { parameters.put(KEY_LIMIT, Integer.toString(limit));
@Test public void testCountWithCallbackLimit() { CacheQueryController controller = mock(CacheQueryController.class); ParseCorePlugins.getInstance().registerQueryController(controller); when(controller.countAsync( any(ParseQuery.State.class), any(ParseUser.class), any(Task.class))).thenReturn(Task.forResult(0)); ArgumentCaptor<ParseQuery.State> state = ArgumentCaptor.forClass(ParseQuery.State.class); final ParseQuery<ParseObject> query = ParseQuery.getQuery("TestObject"); query.countInBackground(null); verify(controller, times(1)).countAsync(state.capture(), any(ParseUser.class), any(Task.class)); assertEquals(0, state.getValue().limit()); }
@Test public void testCountLimit() { CacheQueryController controller = mock(CacheQueryController.class); ParseCorePlugins.getInstance().registerQueryController(controller); when(controller.countAsync( any(ParseQuery.State.class), any(ParseUser.class), any(Task.class))).thenReturn(Task.forResult(0)); ArgumentCaptor<ParseQuery.State> state = ArgumentCaptor.forClass(ParseQuery.State.class); final ParseQuery<ParseObject> query = ParseQuery.getQuery("TestObject"); query.countInBackground(); verify(controller, times(1)).countAsync(state.capture(), any(ParseUser.class), any(Task.class)); assertEquals(0, state.getValue().limit()); }
@Test public void testDefaults() { ParseQuery.State.Builder<ParseObject> builder = new ParseQuery.State.Builder<>("TestObject"); ParseQuery.State<ParseObject> state = builder.build(); assertEquals("TestObject", state.className()); assertTrue(state.constraints().isEmpty()); assertTrue(state.includes().isEmpty()); assertNull(state.selectedKeys()); assertEquals(-1, state.limit()); assertEquals(0, state.skip()); assertTrue(state.order().isEmpty()); assertTrue(state.extraOptions().isEmpty()); assertFalse(state.isTracingEnabled()); assertEquals(ParseQuery.CachePolicy.IGNORE_CACHE, state.cachePolicy()); assertEquals(Long.MAX_VALUE, state.maxCacheAge()); assertFalse(state.isFromLocalDatastore()); assertNull(state.pinName()); assertFalse(state.ignoreACLs()); }
public Builder(State state) { className = state.className(); where.putAll(state.constraints()); includes.addAll(state.includes()); selectedKeys = state.selectedKeys() != null ? new HashSet(state.selectedKeys()) : null; limit = state.limit(); skip = state.skip(); order.addAll(state.order()); extraOptions.putAll(state.extraOptions()); trace = state.isTracingEnabled(); cachePolicy = state.cachePolicy(); maxCacheAge = state.maxCacheAge(); isFromLocalDatastore = state.isFromLocalDatastore(); pinName = state.pinName(); ignoreACLs = state.ignoreACLs(); }
@Test public void testMisc() { // Include, SelectKeys, Limit, Skip ParseQuery.State.Builder<ParseObject> builder = new ParseQuery.State.Builder<>("TestObject"); builder.include("foo").include("bar"); assertEquals(2, builder.build().includes().size()); builder.selectKeys(Collections.singletonList("foo")).selectKeys(Arrays.asList("bar", "baz", "qux")); assertEquals(4, builder.build().selectedKeys().size()); builder.setLimit(42); assertEquals(42, builder.getLimit()); assertEquals(42, builder.build().limit()); builder.setSkip(48); assertEquals(48, builder.getSkip()); assertEquals(48, builder.build().skip()); }