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

tests/unit/inputs.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 TruthTable from '../../src/TruthTable.mjs';
2
3
const TestCasesResult = [
4
    {
5
        description: '1 proposition',
6
        input: 1,
7
        expectedResult: [[false], [true]],
8
    },
9
    {
10
        description: '2 propositions',
11
        input: 2,
12
        expectedResult: [
13
            [false, false],
14
            [false, true],
15
            [true, false],
16
            [true, true],
17
        ],
18
    },
19
    {
20
        description: '3 propositions',
21
        input: 3,
22
        expectedResult: [
23
            [false, false, false],
24
            [false, false, true],
25
            [false, true, false],
26
            [false, true, true],
27
            [true, false, false],
28
            [true, false, true],
29
            [true, true, false],
30
            [true, true, true],
31
        ],
32
    },
33
    {
34
        description: '4 propositions',
35
        input: 4,
36
        expectedResult: [
37
            [false, false, false, false],
38
            [false, false, false, true],
39
            [false, false, true, false],
40
            [false, false, true, true],
41
            [false, true, false, false],
42
            [false, true, false, true],
43
            [false, true, true, false],
44
            [false, true, true, true],
45
            [true, false, false, false],
46
            [true, false, false, true],
47
            [true, false, true, false],
48
            [true, false, true, true],
49
            [true, true, false, false],
50
            [true, true, false, true],
51
            [true, true, true, false],
52
            [true, true, true, true],
53
        ],
54
    },
55
];
56
57
describe.each(TestCasesResult)(
58
    'Test inputs generator',
59
    ({ description, input, expectedResult }) => {
60
        it(description, () => {
61
            const table = TruthTable.create(input);
62
            expect(table.inputs).toMatchObject(expectedResult);
63
        });
64
    }
65
);
66