### Question:
InvertedValueIndexer implements Indexer { @Override public Set<String> getIndexes(MetadataEntry entry) { return Collections.singleton(lexInvert(entry.getValue())); }  @Override Set<String> getIndexes(MetadataEntry entry); @Override SortInfo.SortOrder getSortOrder();  }### Answer:
@Test public void testSimple() { List<String> inputs = ImmutableList.of( "134342", "435ert5", "trdfrw", "_bfcfd", "r34_r3", "cgsdfgs)dfd", "gfsgfd2345245234", "dfsgs" ); List<String> expected = new ArrayList<>(inputs); Collections.sort(expected, Collections.<String>reverseOrder()); List<String> invertedIndexes = new ArrayList<>(); for (String input : inputs) { invertedIndexes.add(Iterables.getOnlyElement(indexer.getIndexes(new MetadataEntry(ns, "dontcare", input)))); } Collections.sort(invertedIndexes); for (int i = 0; i < invertedIndexes.size(); i++) { String invertedIndex = invertedIndexes.get(i); String original = Iterables.getOnlyElement(indexer.getIndexes(new MetadataEntry(ns, "dontcare", invertedIndex))); Assert.assertEquals(expected.get(i), original); } }