package org.jctools.util;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import org.junit.Test;
public class RangeUtilTest {
@Test(expected = IllegalArgumentException.class)
public void checkPositiveMustFailIfArgumentIsZero() {
RangeUtil.checkPositive(0, "var");
}
@Test(expected = IllegalArgumentException.class)
public void checkPositiveMustFailIfArgumentIsLessThanZero() {
RangeUtil.checkPositive(-1, "var");
}
@Test
public void checkPositiveMustPassIfArgumentIsGreaterThanZero() {
final long n = 1;
final long actual = RangeUtil.checkPositive(n, "var");
assertThat(actual, is(equalTo(n)));
}
@Test(expected = IllegalArgumentException.class)
public void checkPositiveOrZeroMustFailIfArgumentIsNegative() {
RangeUtil.checkPositiveOrZero(-1, "var");
}
@Test
public void checkPositiveOrZeroMustPassIfArgumentIsZero() {
final int n = 0;
final int actual = RangeUtil.checkPositiveOrZero(n, "var");
assertThat(actual, is(equalTo(n)));
}
@Test
public void checkPositiveOrZeroMustPassIfArgumentIsGreaterThanZero() {
final int n = 1;
final int actual = RangeUtil.checkPositiveOrZero(n, "var");
assertThat(actual, is(equalTo(n)));
}
@Test(expected = IllegalArgumentException.class)
public void checkLessThanMustFailIfArgumentIsGreaterThanExpected() {
RangeUtil.checkLessThan(1, 0, "var");
}
@Test(expected = IllegalArgumentException.class)
public void checkLessThanMustFailIfArgumentIsEqualToExpected() {
final int n = 1;
final int actual = RangeUtil.checkLessThan(1, 1, "var");
assertThat(actual, is(equalTo(n)));
}
@Test
public void checkLessThanMustPassIfArgumentIsLessThanExpected() {
final int n = 0;
final int actual = RangeUtil.checkLessThan(n, 1, "var");
assertThat(actual, is(equalTo(n)));
}
@Test(expected = IllegalArgumentException.class)
public void checkLessThanOrEqualMustFailIfArgumentIsGreaterThanExpected() {
RangeUtil.checkLessThanOrEqual(1, 0, "var");
}
@Test
public void checkLessThanOrEqualMustPassIfArgumentIsEqualToExpected() {
final int n = 1;
final int actual = RangeUtil.checkLessThanOrEqual(n, 1, "var");
assertThat(actual, is(equalTo(n)));
}
@Test
public void checkLessThanOrEqualMustPassIfArgumentIsLessThanExpected() {
final int n = 0;
final int actual = RangeUtil.checkLessThanOrEqual(n, 1, "var");
assertThat(actual, is(equalTo(n)));
}
@Test(expected = IllegalArgumentException.class)
public void checkGreaterThanOrEqualMustFailIfArgumentIsLessThanExpected() {
RangeUtil.checkGreaterThanOrEqual(0, 1, "var");
}
@Test
public void checkGreaterThanOrEqualMustPassIfArgumentIsEqualToExpected() {
final int n = 1;
final int actual = RangeUtil.checkGreaterThanOrEqual(n, 1, "var");
assertThat(actual, is(equalTo(n)));
}
@Test
public void checkGreaterThanOrEqualMustPassIfArgumentIsGreaterThanExpected() {
final int n = 1;
final int actual = RangeUtil.checkGreaterThanOrEqual(n, 0, "var");
assertThat(actual, is(equalTo(n)));
}
}