topics/spiral-matrix/test.js   A
last analyzed

Complexity

Total Complexity 10
Complexity/F 1

Size

Lines of Code 92
Function Count 10

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 10
eloc 52
mnd 0
bc 0
fnc 10
dl 0
loc 92
rs 10
bpm 0
cpm 1
noi 0
c 0
b 0
f 0
1
const {
2
    spiral,
3
    spiral2
4
} = require('./index.js');
5
// put your tests here
6
7
test('spiral -1', () => {
8
    expect(spiral(-1)).toEqual([
9
        []
10
    ]);
11
});
12
13
test('spiral 1', () => {
14
    expect(spiral(1)).toEqual([
15
        [1]
16
    ]);
17
});
18
19
test('spiral 2', () => {
20
    expect(spiral(2)).toEqual(
21
        [
22
            [1, 2],
23
            [4, 3]
24
        ]
25
    );
26
});
27
28
test('spiral 3', () => {
29
    expect(spiral(3)).toEqual(
30
        [
31
            [1, 2, 3],
32
            [8, 9, 4],
33
            [7, 6, 5]
34
        ]
35
    );
36
});
37
38
test('spiral 4', () => {
39
    expect(spiral(4)).toEqual(
40
        [
41
            [1, 2, 3, 4],
42
            [12, 13, 14, 5],
43
            [11, 16, 15, 6],
44
            [10, 9, 8, 7]
45
        ]
46
    );
47
});
48
49
50
// iteration solution
51
52
test('spiral2 -1', () => {
53
    expect(spiral2(-1)).toEqual([
54
        []
55
    ]);
56
});
57
58
test('spiral2 1', () => {
59
    expect(spiral2(1)).toEqual([
60
        [1]
61
    ]);
62
});
63
64
test('spiral2 2', () => {
65
    expect(spiral2(2)).toEqual(
66
        [
67
            [1, 2],
68
            [4, 3]
69
        ]
70
    );
71
});
72
73
test('spiral2 3', () => {
74
    expect(spiral2(3)).toEqual(
75
        [
76
            [1, 2, 3],
77
            [8, 9, 4],
78
            [7, 6, 5]
79
        ]
80
    );
81
});
82
83
test('spiral2 4', () => {
84
    expect(spiral2(4)).toEqual(
85
        [
86
            [1, 2, 3, 4],
87
            [12, 13, 14, 5],
88
            [11, 16, 15, 6],
89
            [10, 9, 8, 7]
90
        ]
91
    );
92
});