package redis.util; import org.junit.Test; import java.util.Iterator; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertFalse; /** * Some tests. */ public class ZSetTest { private static final BytesKey ONE = new BytesKey("one".getBytes()); private static final BytesKey TWO = new BytesKey("two".getBytes()); private static final BytesKey THREE = new BytesKey("three".getBytes()); @Test public void testOps() { ZSet zs = new ZSet(); zs.add(ONE, 1); zs.add(TWO, 2); zs.add(THREE, 3); ZSet zs2 = new ZSet(); zs2.addAll(zs); { Iterator<ZSetEntry> i = zs.subSet(1.0, 2.0).iterator(); assertEquals(ONE, i.next().getKey()); assertEquals(TWO, i.next().getKey()); assertFalse(i.hasNext()); } { Iterator<ZSetEntry> i = zs.subSet(1, 2).iterator(); assertEquals(TWO, i.next().getKey()); assertEquals(THREE, i.next().getKey()); assertFalse(i.hasNext()); } zs.remove(TWO); { Iterator<ZSetEntry> i = zs2.subSet(1.0, 2.0).iterator(); assertEquals(ONE, i.next().getKey()); assertEquals(TWO, i.next().getKey()); assertFalse(i.hasNext()); } { Iterator<ZSetEntry> i = zs2.subSet(1, 2).iterator(); assertEquals(TWO, i.next().getKey()); assertEquals(THREE, i.next().getKey()); assertFalse(i.hasNext()); } { Iterator<ZSetEntry> i = zs.subSet(1.0, 2.0).iterator(); assertEquals(ONE, i.next().getKey()); assertFalse(i.hasNext()); } { Iterator<ZSetEntry> i = zs.subSet(0, 1).iterator(); assertEquals(ONE, i.next().getKey()); assertEquals(THREE, i.next().getKey()); assertFalse(i.hasNext()); } } private void println(Object o) { System.out.println(String.valueOf(o)); } }