-
Notifications
You must be signed in to change notification settings - Fork 0
/
funciones.test.js
90 lines (72 loc) · 3.19 KB
/
funciones.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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
const assert = chai.assert;
describe("Test de funciones", function () {
describe("Función interactuarCadenas", function () {
it('Debería devolver "+-0" para las cadenas "+-+" y "+--"', function () {
assert.strictEqual(interactuarCadenas("+-+", "+--"), "+-0");
});
it('Debería devolver "000000" para las cadenas "--++--" y "++--++"', function () {
assert.strictEqual(interactuarCadenas("--++--", "++--++"), "000000");
});
it('Debería devolver "-+-+-+" para las cadenas "-+-+-+" y "-+-+-+"', function () {
assert.strictEqual(interactuarCadenas("-+-+-+", "-+-+-+"), "-+-+-+");
});
it('Debería devolver "-+00" para las cadenas "-++-" y "-+-+"', function () {
assert.strictEqual(interactuarCadenas("-++-", "-+-+"), "-+00");
});
});
describe("Función generarApodo", function () {
it('debería devolver "Rob" para "Robert"', function () {
assert.equal(generarApodo("Robert"), "Rob");
});
it('debería devolver "Kim" para "Kimberly"', function () {
assert.equal(generarApodo("Kimberly"), "Kim");
});
it('debería devolver "Jean" para "Jeannie"', function () {
assert.equal(generarApodo("Jeannie"), "Jean");
});
it('debería devolver "Greg" para "Gregory"', function () {
assert.equal(generarApodo("Gregory"), "Greg");
});
it("debería lanzar un error para nombres con menos de 4 caracteres", function () {
assert.throws(() => generarApodo("Sam"), Error, "Nombre muy corto");
});
});
describe("Función obtenerMarcador", function () {
it('Debería devolver [4, 0] cuando el input es "El marcador es cuatro cero"', function () {
assert.deepEqual(obtenerMarcador("El marcador es cuatro cero"), [4, 0]);
});
it('Debería devolver [2, 3] cuando el input es "nuevo marcador: dos tres"', function () {
assert.deepEqual(obtenerMarcador("nuevo marcador: dos tres"), [2, 3]);
});
it('Debería devolver [2, 2] cuando el input es "dos dos"', function () {
assert.deepEqual(obtenerMarcador("dos dos"), [2, 2]);
});
it('Debería devolver [2, 0] cuando el input es "Arsenal acaba de recibir otro gol, dos cero"', function () {
assert.deepEqual(
obtenerMarcador("Arsenal acaba de recibir otro gol, dos cero"),
[2, 0]
);
});
it("Debería devolver [0, 0] cuando no hay números en el texto", function () {
assert.deepEqual(obtenerMarcador("Arsenal vs Chelsea"), [0, 0]);
});
});
describe("Clase Barco", function () {
it('debería existir un método llamado "valeLaPena"', function () {
const barco = new Barco(25, 3);
assert.isFunction(barco.valeLaPena);
});
it("debería devolver true si el barco vale la pena saquear", function () {
const barco = new Barco(25, 3);
assert.isTrue(barco.valeLaPena());
});
it("debería devolver false si el barco no vale la pena saquear", function () {
const barco = new Barco(18, 5);
assert.isFalse(barco.valeLaPena());
});
it("debería devolver false si el calado es exactamente 20 después de restar el peso de la tripulación", function () {
const barco = new Barco(23, 2);
assert.isFalse(barco.valeLaPena());
});
});
});