-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.js
67 lines (53 loc) · 2.5 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
console.log('Coding Dojo FACCAT');
var sink = require('sink-test');
var campominado = require('./campo_minado').campominado;
sink.sink('Campo minado', function(test, ok) {
test('Retorna * para bombas', 3, function() {
campo = campominado(1, 1, ['*']);
ok(campo[0] == '*', 'bombas == *');
campo = campominado(1, 2, ['*', '*']);
ok(campo[0] == '*', 'item 1 tem bomba');
ok(campo[1] == '*', 'item 2 tem bomba');
});
test('Retorno 0 quando não tiver bombas perto', 3, function() {
campo = campominado(1, 1, ['.']);
ok(campo[0] == "0", 'não tem bomba por perto');
campo = campominado(1, 2, ['.', '.']);
ok(campo[0] == "0", 'não tem bomba no 1');
ok(campo[1] == "0", 'não tem bomba no 2');
campo = campominado(1, 1, ['*', '.', '.', '.']);
});
test('Retorna 1 quando tem bomba por perto', 8, function(){
campo = campominado(1, 2, ['*', '.']);
ok(campo[1] == '1', 'Retorna 1 quando bomba antes');
campo = campominado(1, 2, ['.', '*']);
ok(campo[0] == '1', 'Retorna 1 quando houver uma bomba depois');
campo = campominado(2, 1, ['.', '*']);
ok(campo[0] == '1', 'Retorna 1 quando houver uma bomba abaixo');
campo = campominado(2, 1, ['*', '.']);
ok(campo[1] == '1', 'Retorna 1 quando houver uma bomba em cima');
campo = campominado(2, 2, ['*','.','.','.']);
ok(campo[3] == '1', 'Retorna 1 quando houver uma bomba na superior esquerda');
campo = campominado(2, 2, ['.','*','.','.']);
ok(campo[2] == '1', 'Retorna 1 quando houver uma bomba na superior direita');
campo = campominado(2, 2, ['.', '.', '.', '*']);
ok(campo[0] == '1', 'Retorna 1 quando houver uma bomba na inferior direita');
campo = campominado(2, 2, ['.', '.', '*', '.']);
ok(campo[1] == '1', 'Retorna 1 quando houver uma bomba na inferior esquerda');
});
test('Retorna 2 quanto tem duas bombas por perto', 7, function(){
campo = campominado(3, 1, ['*', '.', '*']);
ok(campo[1] == '2', 'Retorna 2 quando houver duas bombas por perto');
campo = campominado(2, 2, ['*', '.',
'.','*']);
ok(campo[1] == '2', 'Retorna o primeiro 2');
ok(campo[2] == '2', 'Retorna o segundo 2');
campo = campominado(2, 2, ['*', '*', '.', '.']);
ok(campo[2] == '2', 'Retorna 2 quando hover duas bombas por perto');
ok(campo[3] == '2', 'Retorna 2 quando hover duas bombas por perto');
campo = campominado(2, 2, ['.', '.', '*', '*']);
ok(campo[0] == '2', 'Retorna 2 quando houver duas bombas em baixo');
ok(campo[1] == '2', 'Retorna 2 quando houver duas bombas em baixo');
});
});
sink.start()