package com.levelup.java.number;
import static org.junit.Assert.assertTrue;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import org.apache.log4j.Logger;
import org.junit.Test;
import com.google.common.collect.ContiguousSet;
import com.google.common.collect.DiscreteDomain;
import com.google.common.collect.Range;
/**
* This java example will demonstrate return a range of numbers.
*
* @author Justin Musgrove
* @see <a href='http://www.leveluplunch.com/java/examples/generate-sequential-numbers-from-range/'>Generate numbers from range</a>
*/
public class GenerateRangeOfSequentialNumbers {
private static final Logger logger = Logger
.getLogger(GenerateRangeOfSequentialNumbers.class);
@Test
public void range_sequential_numbers_java8() {
Set<Integer> range = IntStream.rangeClosed(20, 30).boxed()
.collect(Collectors.toSet());
logger.info(range);
assertTrue(range.size() == 11);
}
@Test
public void range_sequential_numbers_guava() {
Range<Integer> range = Range.closed(20, 30);
Set<Integer> ranges = ContiguousSet.create(range,
DiscreteDomain.integers());
logger.info(ranges);
assertTrue(ranges.size() == 11);
}
}