package org.zstack.test.utils;
import junit.framework.Assert;
import org.junit.Test;
import org.zstack.utils.RangeSet;
import org.zstack.utils.RangeSet.Range;
import java.util.List;
/**
*/
public class TestRangeSet {
@Test
public void test() {
RangeSet set = new RangeSet();
set.closed(1, 100);
set.closed(101, 110);
set.open(22, 33);
set.closed(120, 130);
List<Range> ret = set.mergeAndSort();
System.out.println(ret.toString());
Assert.assertEquals(2, ret.size());
Range r1 = ret.get(0);
Assert.assertTrue(r1.is(1, 110));
Range r2 = ret.get(1);
Assert.assertTrue(r2.is(120, 130));
set = new RangeSet();
set.closed(22, 22);
set.closed(33, 25);
set.closed(1, 23);
ret = set.mergeAndSort();
System.out.println(ret.toString());
Assert.assertEquals(2, ret.size());
r1 = ret.get(0);
Assert.assertTrue(r1.is(1, 23));
r2 = ret.get(1);
Assert.assertTrue(r2.is(25, 33));
set = new RangeSet();
set.closed(1, 1);
set.closed(2, 10);
set.closed(10, 20);
ret = set.mergeAndSort();
System.out.println(ret.toString());
Assert.assertEquals(1, ret.size());
r1 = ret.get(0);
Assert.assertTrue(r1.is(1, 20));
}
}