1
2
3
4
5
6
7 package org.sat4j.reader.csp;
8
9 import junit.framework.TestCase;
10
11 import org.sat4j.csp.RangeDomain;
12 import org.sat4j.specs.IteratorInt;
13
14
15 public class RangeDomainTest extends TestCase {
16
17 public void testSize() {
18 RangeDomain domain = new RangeDomain(3, 4);
19 assertEquals(2, domain.size());
20 }
21
22 public void testGet() {
23 RangeDomain domain = new RangeDomain(2, 5);
24 assertEquals(4, domain.size());
25 assertEquals(2, domain.get(0));
26 assertEquals(3, domain.get(1));
27 assertEquals(4, domain.get(2));
28 assertEquals(5, domain.get(3));
29 }
30
31 public void testIterator() {
32 RangeDomain domain = new RangeDomain(2, 5);
33 IteratorInt it = domain.iterator();
34 assertTrue(it.hasNext());
35 assertEquals(2, it.next());
36 assertTrue(it.hasNext());
37 assertEquals(3, it.next());
38 assertTrue(it.hasNext());
39 assertEquals(4, it.next());
40 assertTrue(it.hasNext());
41 assertEquals(5, it.next());
42 assertFalse(it.hasNext());
43 }
44
45 public void testNegativeBounds() {
46 RangeDomain domain = new RangeDomain(-2, 4);
47 assertEquals(7, domain.size());
48 }
49
50 public void testPos() {
51 RangeDomain domain = new RangeDomain(1, 5);
52 assertEquals(1, domain.pos(2));
53 assertEquals(0, domain.pos(1));
54 assertEquals(2, domain.pos(3));
55 assertEquals(3, domain.pos(4));
56 assertEquals(4, domain.pos(5));
57 }
58 }