@Test public void testWithSelect() { HashIndexSelect<DataModel.Consumer.TypeA, DataModel.Consumer.HString, Integer> hi = HashIndex .from(consumer, DataModel.Consumer.TypeA.class) .selectField("s", DataModel.Consumer.HString.class) .usingPath("i", int.class); List<String> r = hi.findMatches(1) .sorted(Comparator.comparingInt(HollowObject::getOrdinal)) .map(DataModel.Consumer.HString::getValue) .collect(toList()); Assert.assertEquals(100, r.size()); for (int i = 0; i < r.size(); i++) { Assert.assertEquals("TypeA" + i, r.get(i)); } }
@Test public void testWithSelectGenericHollowObject() { HashIndexSelect<DataModel.Consumer.TypeA, GenericHollowObject, Integer> hi = HashIndex .from(consumer, DataModel.Consumer.TypeA.class) .selectField("s", GenericHollowObject.class) .usingPath("i", int.class); List<String> r = hi.findMatches(1) .sorted(Comparator.comparingInt(HollowObject::getOrdinal)) .map(gho -> gho.getString("value")) .collect(toList()); Assert.assertEquals(100, r.size()); for (int i = 0; i < r.size(); i++) { Assert.assertEquals("TypeA" + i, r.get(i)); } } }
@Test public void test() { HashIndexSelect<DataModel.Consumer.References, S, Integer> hi = HashIndex .from(consumer, DataModel.Consumer.References.class) .selectField(path, type) .usingPath("values._int", int.class); List<S> r = hi.findMatches(1) .collect(toList()); Assert.assertEquals(1, r.size()); Assert.assertTrue(type.isInstance(r.get(0))); Assert.assertEquals(0, r.get(0).getOrdinal()); } }
@Test(expected = IllegalArgumentException.class) public void testUnknownSelectType() { HashIndex .from(consumer, DataModel.Consumer.References.class) .selectField("values", Unknown.class) .usingPath("values", DataModel.Consumer.Values.class); }
@Test public void testWithSelectRootTypeGenericHollowObject() { HashIndexSelect<DataModel.Consumer.TypeA, GenericHollowObject, Integer> hi = HashIndex .from(consumer, DataModel.Consumer.TypeA.class) .selectField("", GenericHollowObject.class) .usingPath("i", int.class); boolean r = hi.findMatches(1) .sorted(Comparator.comparingInt(HollowObject::getOrdinal)) .mapToInt(gho -> gho.getInt("i")) .allMatch(i -> i == 1); Assert.assertTrue(r); }
@Test(expected = IllegalArgumentException.class) public void test() { HashIndex .from(consumer, DataModel.Consumer.Values.class) .selectField(path, GenericHollowObject.class) .usingPath("values._int", int.class); } }