### Question:
FST { public FST(byte[] compiled) { this.fst = compiled; initCache(); } FST(byte[] compiled);  FST(InputStream input); int lookup(String input); static FST newInstance(ResourceResolver resolver); static final String FST_FILENAME; }### Answer:
@Test public void testFST() throws IOException { String inputValues[] = { "brats", "cat", "dog", "dogs", "rat", }; int outputValues[] = { 1, 3, 5, 7, 11 }; Builder builder = new Builder(); builder.build(inputValues, outputValues); for (int i = 0; i < inputValues.length; i++) { assertEquals(outputValues[i], builder.transduce(inputValues[i])); } Compiler compiledFST = builder.getCompiler(); FST fst = new FST(compiledFST.getBytes()); assertEquals(0, fst.lookup("brat")); assertEquals(1, fst.lookup("brats")); assertEquals(3, fst.lookup("cat")); assertEquals(5, fst.lookup("dog")); assertEquals(7, fst.lookup("dogs")); assertEquals(11, fst.lookup("rat")); assertEquals(-1, fst.lookup("rats")); }