Passed
Branch master (1b85f8)
by Pieter Epeüs
19:20 queued 15:41
created

tests/unit/notResult.spec.js   A

Complexity

Total Complexity 2
Complexity/F 1

Size

Lines of Code 68
Function Count 2

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 54
mnd 0
bc 0
fnc 2
dl 0
loc 68
rs 10
bpm 0
cpm 1
noi 1
c 0
b 0
f 0
1
import { NotTruthTable } from '../../src/TruthTable.mjs';
2
3
const TestCasesResult = [
4
    {
5
        description: '1 proposition',
6
        input: 1,
7
        expectedResult: [
8
            [[true], false],
9
            [[false], true],
10
        ],
11
    },
12
    {
13
        description: '2 propositions',
14
        input: 2,
15
        expectedResult: [
16
            [[true, true], false, false],
17
            [[true, false], false, true],
18
            [[false, true], true, false],
19
            [[false, false], true, true],
20
        ],
21
    },
22
    {
23
        description: '3 propositions',
24
        input: 3,
25
        expectedResult: [
26
            [[true, true, true], false, false, false],
27
            [[true, true, false], false, false, true],
28
            [[true, false, true], false, true, false],
29
            [[true, false, false], false, true, true],
30
            [[false, true, true], true, false, false],
31
            [[false, true, false], true, false, true],
32
            [[false, false, true], true, true, false],
33
            [[false, false, false], true, true, true],
34
        ],
35
    },
36
    {
37
        description: '4 propositions',
38
        input: 4,
39
        expectedResult: [
40
            [[true, true, true, true], false, false, false, false],
41
            [[true, true, true, false], false, false, false, true],
42
            [[true, true, false, true], false, false, true, false],
43
            [[true, true, false, false], false, false, true, true],
44
            [[true, false, true, true], false, true, false, false],
45
            [[true, false, true, false], false, true, false, true],
46
            [[true, false, false, true], false, true, true, false],
47
            [[true, false, false, false], false, true, true, true],
48
            [[false, true, true, true], true, false, false, false],
49
            [[false, true, true, false], true, false, false, true],
50
            [[false, true, false, true], true, false, true, false],
51
            [[false, true, false, false], true, false, true, true],
52
            [[false, false, true, true], true, true, false, false],
53
            [[false, false, true, false], true, true, false, true],
54
            [[false, false, false, true], true, true, true, false],
55
            [[false, false, false, false], true, true, true, true],
56
        ],
57
    },
58
];
59
60
describe.each(TestCasesResult)(
61
    'Test not with inputs',
62
    ({ description, input, expectedResult }) => {
63
        it(description, () => {
64
            const table = NotTruthTable.create(input);
65
            expect(table.result).toMatchObject(expectedResult);
66
        });
67
    }
68
);
69