Skip to content

Commit 171e02d

Browse files
🔬 test: Increase coverage.
1 parent 0e37c59 commit 171e02d

2 files changed

Lines changed: 45 additions & 1 deletion

File tree

test/src/SAT.js

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ test('#2', (t) => {
7878
]);
7979
});
8080

81-
test('#3', (t) => {
81+
test('#3 [signs]', (t) => {
8282
const instance = sat.from.signs([
8383
[-1, 2, 3],
8484
[-2, -4, 5],
@@ -106,3 +106,32 @@ test('#3', (t) => {
106106
[0, 1, 1, 1, 1, 1],
107107
]);
108108
});
109+
110+
test('#3 [parities]', (t) => {
111+
const instance = sat.from.parities([
112+
[1, 2, 4],
113+
[3, 7, 8],
114+
[0, 9],
115+
]);
116+
const satisfying_assignments = list(
117+
map((certificate) => instance.assignment(certificate), sat.solve(instance)),
118+
);
119+
t.deepEqual(satisfying_assignments, [
120+
[0, 0, 0, 0, 0],
121+
[0, 0, 0, 1, 0],
122+
[0, 0, 1, 0, 0],
123+
[0, 0, 1, 1, 0],
124+
[0, 1, 0, 0, 0],
125+
[0, 1, 1, 0, 0],
126+
[1, 0, 1, 0, 0],
127+
[1, 0, 1, 0, 1],
128+
[1, 0, 1, 1, 0],
129+
[1, 0, 1, 1, 1],
130+
[1, 1, 0, 0, 0],
131+
[1, 1, 0, 0, 1],
132+
[1, 1, 0, 1, 1],
133+
[1, 1, 1, 0, 0],
134+
[1, 1, 1, 0, 1],
135+
[1, 1, 1, 1, 1],
136+
]);
137+
});

test/src/api/verify.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import test from 'ava';
2+
3+
import * as sat from '../../../src/index.js';
4+
5+
test('check some certificates', (t) => {
6+
const instance = sat.from.signs([
7+
[-1, 2, 3],
8+
[-2, -4, 5],
9+
[1, -5],
10+
]);
11+
t.true(sat.verify(instance, [0, 0, 0, 0, 0]));
12+
t.true(sat.verify(instance, [1, 1, 1, 1, 1]));
13+
t.false(sat.verify(instance, [0, 0, 0, 1, 1]));
14+
t.false(sat.verify(instance, [1, 1, 1, 1, 0]));
15+
});

0 commit comments

Comments
 (0)