1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 package org.sat4j.minisat.constraints;
31
32 import junit.framework.TestCase;
33
34 import org.sat4j.minisat.constraints.cnf.Lits;
35 import org.sat4j.minisat.core.ILits;
36
37
38
39
40
41
42
43
44
45
46 public class LitTest extends TestCase {
47
48 private ILits lits;
49
50
51
52
53
54
55 public LitTest(String arg0) {
56 super(arg0);
57 }
58
59
60
61
62 @Override
63 protected void setUp() throws Exception {
64 super.setUp();
65 this.lits = new Lits();
66 }
67
68 public void testNot() {
69 this.lits.ensurePool(5);
70 int lit = this.lits.getFromPool(-5);
71 assertEquals(this.lits.getFromPool(5), lit ^ 1);
72 }
73
74 public void testVar() {
75 this.lits.ensurePool(10);
76 int lit = this.lits.getFromPool(-5);
77 assertEquals(5, lit >> 1);
78 lit = this.lits.getFromPool(10);
79 assertEquals(10, lit >> 1);
80
81 }
82
83
84
85
86 public void testEqualsObject() {
87 this.lits.ensurePool(3);
88 int lit = this.lits.getFromPool(-3);
89 assertEquals(this.lits.getFromPool(-3), lit);
90 assertEquals(this.lits.getFromPool(3), lit ^ 1);
91 assertFalse(this.lits.getFromPool(1) == this.lits.getFromPool(2));
92 }
93
94
95
96
97 public void testToString() {
98 this.lits.ensurePool(3);
99 int lit = this.lits.getFromPool(-3);
100 assertEquals("-3", Lits.toString(lit));
101 assertEquals("3", Lits.toString(lit ^ 1));
102 }
103
104 public void testTruthValue() {
105 this.lits.ensurePool(3);
106 int lit = this.lits.getFromPool(-2);
107 assertTrue(this.lits.isUnassigned(lit));
108 assertTrue(this.lits.isUnassigned(lit ^ 1));
109 this.lits.satisfies(lit);
110 assertTrue(this.lits.isSatisfied(lit));
111 assertFalse(this.lits.isFalsified(lit));
112 assertFalse(this.lits.isUnassigned(lit));
113 assertFalse(this.lits.isSatisfied(lit ^ 1));
114 assertTrue(this.lits.isFalsified(lit ^ 1));
115 assertFalse(this.lits.isUnassigned(lit ^ 1));
116 this.lits.unassign(lit);
117 assertTrue(this.lits.isUnassigned(lit));
118 assertTrue(this.lits.isUnassigned(lit ^ 1));
119
120 }
121
122 }