public void testKmin() throws Exception {
    DiskTreap<String, Integer> strKeyIndex = new DiskTreap<String, Integer>(prepareDataStringKey());
    Map<String, Integer> result = strKeyIndex.kmin(1);
    assertNotNull(result);
    assertEquals(new Integer(789), result.get("18 year"));

    strKeyIndex.close();

    // =======

    DiskTreap<Integer, String> intKeyIndex =
        new DiskTreap<Integer, String>(prepareDataFastIntKey());

    Map<Integer, String> result_2 = intKeyIndex.kmin(1);
    assertNotNull(result_2);
    assertEquals("abc", result_2.get(-12));

    intKeyIndex.close();

    // =======

    DiskTreap<FastString, byte[]> fastStringIndex =
        new DiskTreap<FastString, byte[]>(prepareDataFastStringKey());
    Map<FastString, byte[]> result_3 = fastStringIndex.kmin(1);
    assertNotNull(result_3);
    assertEquals("11789", new String(result_3.get(new FastString("中科院计算所"))));

    fastStringIndex.close();
  }