package org.jooby.internal;
import static org.junit.Assert.assertEquals;
import org.jooby.Err;
import org.junit.Test;
import javaslang.Tuple2;
public class ByteRangeTest {
@Test
public void newInstance() {
new ByteRange();
}
@Test(expected = Err.class)
public void noByteRange() {
ByteRange.parse("foo");
}
@Test(expected = Err.class)
public void emptyRange() {
ByteRange.parse("byte=");
}
@Test(expected = Err.class)
public void invalidRange() {
ByteRange.parse("bytes=-");
}
@Test(expected = Err.class)
public void invalidRange2() {
ByteRange.parse("bytes=z-");
}
@Test(expected = Err.class)
public void invalidRange3() {
ByteRange.parse("bytes=-z");
}
@Test(expected = Err.class)
public void invalidRange4() {
ByteRange.parse("bytes=6");
}
@Test
public void validRange() {
Tuple2<Long, Long> range = ByteRange.parse("bytes=1-10");
assertEquals(1L, range._1.longValue());
assertEquals(10L, range._2.longValue());
}
@Test
public void prefixRange() {
Tuple2<Long, Long> range = ByteRange.parse("bytes=99-");
assertEquals(99L, range._1.longValue());
assertEquals(-1L, range._2.longValue());
}
@Test
public void suffixRange() {
Tuple2<Long, Long> range = ByteRange.parse("bytes=-99");
assertEquals(-1L, range._1.longValue());
assertEquals(99L, range._2.longValue());
}
}