public void testgetarrayentryandoverflowentries() {
   smallsortedmap<integer, integer> map = smallsortedmap.newinstancefortest(3);
   for (int i = 0; i < 6; i++) {
     assertnull(map.put(i, i + 1));
   }
   assertequals(3, map.getnumarrayentries());
   for (int i = 0; i < 3; i++) {
     map.entry<integer, integer> entry = map.getarrayentryat(i);
     assertequals(new integer(i), entry.getkey());
     assertequals(new integer(i + 1), entry.getvalue());
   }
   iterator<map.entry<integer, integer>> it = map.getoverflowentries().iterator();
   for (int i = 3; i < 6; i++) {
     asserttrue(it.hasnext());
     map.entry<integer, integer> entry = it.next();
     assertequals(new integer(i), entry.getkey());
     assertequals(new integer(i + 1), entry.getvalue());
   }
   assertfalse(it.hasnext());
 }
 public void testentrysetiteratornext() {
   smallsortedmap<integer, integer> map = smallsortedmap.newinstancefortest(3);
   for (int i = 0; i < 6; i++) {
     assertnull(map.put(i, i + 1));
   }
   iterator<map.entry<integer, integer>> it = map.entryset().iterator();
   for (int i = 0; i < 6; i++) {
     asserttrue(it.hasnext());
     map.entry<integer, integer> entry = it.next();
     assertequals(new integer(i), entry.getkey());
     assertequals(new integer(i + 1), entry.getvalue());
   }
   assertfalse(it.hasnext());
 }
 @override
 public boolean equals(object o) {
   if (!(o instanceof map.entry)) return false;
   map.entry e = (map.entry) o;
   return eq(key, e.getkey()) && eq(value, e.getvalue());
 }