@Test
public void queriesAgainstPerson() throws JSONException {
String json = loadTextAssetAsString(TEST_DATA_DIR + "testQueriesAgainstPerson.json");
InteractionCriteria criteria = new InteractionCriteria(json);
Person person = new Person();
person.setEmail("example@example.com");
person.getCustomData().put("foo", "bar");
EventData eventData = new EventData();
FieldManager fieldManager = new FieldManager(targetContext, new VersionHistory(), eventData, person, new Device(), new AppRelease());
assertTrue(criteria.isMet(fieldManager));
eventData.storeEventForCurrentAppVersion(Util.currentTimeSeconds(), versionCode, versionName, "switch.code.point");
assertFalse(criteria.isMet(fieldManager));
eventData.storeEventForCurrentAppVersion(Util.currentTimeSeconds(), versionCode, versionName, "switch.code.point");
assertTrue(criteria.isMet(fieldManager));
person.getCustomData().put("foo", "bar");
eventData.storeEventForCurrentAppVersion(Util.currentTimeSeconds(), versionCode, versionName, "switch.code.point");
assertTrue(criteria.isMet(fieldManager));
eventData.storeEventForCurrentAppVersion(Util.currentTimeSeconds(), versionCode, versionName, "switch.code.point");
assertFalse(criteria.isMet(fieldManager));
eventData.storeEventForCurrentAppVersion(Util.currentTimeSeconds(), versionCode, versionName, "switch.code.point");
assertTrue(criteria.isMet(fieldManager));
}