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

tests/unit/xnand.spec.js   A

Complexity

Total Complexity 2
Complexity/F 1

Size

Lines of Code 51
Function Count 2

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

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