### Question:
Datastore { public Key put(Entity entity) { if (isNewEntity(entity)) { createEntity(entity); } else { updateEntity(entity); } return entity.getKey(); } private  Datastore(ConnectionManager connectionManager); static Datastore create(ConnectionManager connectionManager); Key put(Entity entity); Entity get(final Key key); void delete(Key key); List<Entity> query(Query query);  }### Answer:
@Test public void testQueryIn() throws FalsePredicateException { Entity entity = new Entity("parents"); entity.setProperty("name", "jim"); entity.setProperty("__name", "jim"); entity.setProperty("age", 27); datastore.put(entity); assertQueryInForField("age", Arrays.asList(10, 27)); assertQueryInForField("name", Arrays.asList("jim", "john")); }
@Test public void testQueryInWithKey() throws FalsePredicateException { ObjectModel model = new ObjectModel(Parent.class); Key key = KeyFactory.createKey("parents", 1l); Entity entity = new Entity(key); entity.setProperty("name", "jim"); entity.setProperty("__name", "jim"); entity.setProperty("age", 27); datastore.put(entity); Key anotherKey = KeyFactory.createKey("parents", 2l); assertQueryInForField("id", Arrays.asList(IdRefToKey.toIdRef(yawp, key, model), IdRefToKey.toIdRef(yawp, anotherKey, model))); }