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

tests/unit/not.spec.js   A

Complexity

Total Complexity 2
Complexity/F 1

Size

Lines of Code 65
Function Count 2

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 52
mnd 0
bc 0
fnc 2
dl 0
loc 65
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: [[true], [false]],
8
    },
9
    {
10
        description: '2 propositions',
11
        input: 2,
12
        expectedResult: [
13
            [true, true],
14
            [true, false],
15
            [false, true],
16
            [false, false],
17
        ],
18
    },
19
    {
20
        description: '3 propositions',
21
        input: 3,
22
        expectedResult: [
23
            [true, true, true],
24
            [true, true, false],
25
            [true, false, true],
26
            [true, false, false],
27
            [false, true, true],
28
            [false, true, false],
29
            [false, false, true],
30
            [false, false, false],
31
        ],
32
    },
33
    {
34
        description: '4 propositions',
35
        input: 4,
36
        expectedResult: [
37
            [true, true, true, true],
38
            [true, true, true, false],
39
            [true, true, false, true],
40
            [true, true, false, false],
41
            [true, false, true, true],
42
            [true, false, true, false],
43
            [true, false, false, true],
44
            [true, false, false, false],
45
            [false, true, true, true],
46
            [false, true, true, false],
47
            [false, true, false, true],
48
            [false, true, false, false],
49
            [false, false, true, true],
50
            [false, false, true, false],
51
            [false, false, false, true],
52
            [false, false, false, false],
53
        ],
54
    },
55
];
56
57
describe.each(TestCasesResult)(
58
    'Test not',
59
    ({ description, input, expectedResult }) => {
60
        it(description, () => {
61
            const table = NotTruthTable.create(input);
62
            expect(table.output).toMatchObject(expectedResult);
63
        });
64
    }
65
);
66