topics/steps/test.js   A
last analyzed

Complexity

Total Complexity 8
Complexity/F 1

Size

Lines of Code 54
Function Count 8

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 8
eloc 38
mnd 0
bc 0
fnc 8
dl 0
loc 54
rs 10
bpm 0
cpm 1
noi 0
c 0
b 0
f 0
1
const {
2
    steps,
3
    steps2,
4
    steps3,
5
    steps4
6
} = require('./index.js');
7
// put your tests here
8
test('test steps: test some invalid inputs ', () => {
9
    expect(steps(-1)).toEqual([]);
10
    expect(steps(0)).toEqual([]);
11
});
12
13
test('test steps: some valid inputs ', () => {
14
    expect(steps(1)).toEqual(['#']);
15
    expect(steps(2)).toEqual(['# ', '##']);
16
    expect(steps(3)).toEqual(['#  ', '## ', '###']);
17
    expect(steps(4)).toEqual(['#   ', '##  ', '### ', '####']);
18
});
19
20
test('test steps2 (recursion): test some invalid inputs ', () => {
21
    expect(steps2(-1)).toEqual([]);
22
    expect(steps2(0)).toEqual([]);
23
});
24
25
test('test steps2 (recursion): some valid inputs ', () => {
26
    expect(steps2(1)).toEqual(['#']);
27
    expect(steps2(2)).toEqual(['# ', '##']);
28
    expect(steps2(3)).toEqual(['#  ', '## ', '###']);
29
    expect(steps2(4)).toEqual(['#   ', '##  ', '### ', '####']);
30
});
31
32
test('test steps3 (matrix): test some invalid inputs ', () => {
33
    expect(steps3(-1)).toEqual([]);
34
    expect(steps3(0)).toEqual([]);
35
});
36
37
test('test steps3 (matrix): some valid inputs ', () => {
38
    expect(steps3(1)).toEqual(['#']);
39
    expect(steps3(2)).toEqual(['# ', '##']);
40
    expect(steps3(3)).toEqual(['#  ', '## ', '###']);
41
    expect(steps3(4)).toEqual(['#   ', '##  ', '### ', '####']);
42
});
43
44
test('test steps4: test some invalid inputs ', () => {
45
    expect(steps4(-1)).toEqual([]);
46
    expect(steps4(0)).toEqual([]);
47
});
48
49
test('test steps4: some valid inputs ', () => {
50
    expect(steps4(1)).toEqual(['#']);
51
    expect(steps4(2)).toEqual(['# ', '##']);
52
    expect(steps4(3)).toEqual(['#  ', '## ', '###']);
53
    expect(steps4(4)).toEqual(['#   ', '##  ', '### ', '####']);
54
});