package com.lambdaworks.redis; import static com.lambdaworks.redis.Range.Boundary.excluding; import static com.lambdaworks.redis.Range.Boundary.including; import static org.assertj.core.api.Assertions.assertThat; import org.junit.Test; /** * @author Mark Paluch */ public class RangeTest { @Test public void unbounded() { Range<Object> unbounded = Range.unbounded(); assertThat(unbounded.getLower().isIncluding()).isTrue(); assertThat(unbounded.getLower().getValue()).isNull(); assertThat(unbounded.getUpper().isIncluding()).isTrue(); assertThat(unbounded.getUpper().getValue()).isNull(); } @Test public void createIncluded() { Range<Object> range = Range.create("ze", "ro"); assertThat(range.getLower().isIncluding()).isTrue(); assertThat(range.getLower().getValue()).isEqualTo("ze"); assertThat(range.getUpper().isIncluding()).isTrue(); assertThat(range.getUpper().getValue()).isEqualTo("ro"); } @Test public void fromBoundaries() { Range<Object> range = Range.from(including("ze"), excluding("ro")); assertThat(range.getLower().isIncluding()).isTrue(); assertThat(range.getLower().getValue()).isEqualTo("ze"); assertThat(range.getUpper().isIncluding()).isFalse(); assertThat(range.getUpper().getValue()).isEqualTo("ro"); } @Test public void greater() { Range<Object> gt = Range.unbounded().gt("zero"); assertThat(gt.getLower().isIncluding()).isFalse(); assertThat(gt.getLower().getValue()).isEqualTo("zero"); assertThat(gt.getUpper().isIncluding()).isTrue(); assertThat(gt.getUpper().getValue()).isNull(); } @Test public void greaterOrEquals() { Range<Object> gte = Range.unbounded().gte("zero"); assertThat(gte.getLower().isIncluding()).isTrue(); assertThat(gte.getLower().getValue()).isEqualTo("zero"); assertThat(gte.getUpper().isIncluding()).isTrue(); assertThat(gte.getUpper().getValue()).isNull(); } @Test public void less() { Range<Object> lt = Range.unbounded().lt("zero"); assertThat(lt.getLower().isIncluding()).isTrue(); assertThat(lt.getLower().getValue()).isNull(); assertThat(lt.getUpper().isIncluding()).isFalse(); assertThat(lt.getUpper().getValue()).isEqualTo("zero"); assertThat(lt.toString()).isEqualTo("Range [[unbounded] to (zero]"); } @Test public void lessOrEquals() { Range<Object> lte = Range.unbounded().lte("zero"); assertThat(lte.getLower().isIncluding()).isTrue(); assertThat(lte.getLower().getValue()).isNull(); assertThat(lte.getUpper().isIncluding()).isTrue(); assertThat(lte.getUpper().getValue()).isEqualTo("zero"); assertThat(lte.toString()).isEqualTo("Range [[unbounded] to [zero]"); } }