public void testScan() {
   persistence.mutate("A1", Functions.constant("A1".getBytes()));
   persistence.mutate("A2", Functions.constant("A2".getBytes()));
   persistence.mutate("A3", Functions.constant("A3".getBytes()));
   persistence.mutate("A2", Functions.constant((byte[]) null));
   List<Entry<String, byte[]>> scanResult = persistence.scan("A", "B", 10);
   assertEquals(2, scanResult.size());
   assertEquals("A1", scanResult.get(0).getKey());
   assertEquals("A3", scanResult.get(1).getKey());
   assertTrue(Arrays.equals("A1".getBytes(), scanResult.get(0).getValue()));
   assertTrue(Arrays.equals("A3".getBytes(), scanResult.get(1).getValue()));
   scanResult = persistence.scan("A1", "A3", 10);
   assertEquals(1, scanResult.size());
   assertEquals("A1", scanResult.get(0).getKey());
   scanResult = persistence.scan("A1", "A4", 1);
   assertEquals(1, scanResult.size());
   assertEquals("A1", scanResult.get(0).getKey());
   scanResult = persistence.scan("B", "Z", 10);
   assertEquals(0, scanResult.size());
   scanResult = persistence.scan("A1", "A4", 0);
   assertEquals(0, scanResult.size());
 }