### Question:
HexFormatter implements Formatter, ScanInterpreter { @Override public Text interpretRow(Text row) { return new Text(toBinary(row.toString())); }  @Override boolean hasNext(); @Override String next(); @Override void remove(); @Override void initialize(Iterable<Entry<Key,Value>> scanner, FormatterConfig config); @Override Text interpretRow(Text row); @Override Text interpretBeginRow(Text row); @Override Text interpretEndRow(Text row); @Override Text interpretColumnFamily(Text cf); @Override Text interpretColumnQualifier(Text cq);  }### Answer:
@Test public void testInterpretRow() { assertEquals(new Text(), formatter.interpretRow(new Text())); assertEquals(new Text("\0"), formatter.interpretRow(new Text("0"))); }
@Test(expected = IllegalArgumentException.class) public void testInterpretBadRow0() { formatter.interpretRow(new Text("!")); }
@Test(expected = IllegalArgumentException.class) public void testInterpretBadRow1() { formatter.interpretRow(new Text("z")); }