forked from Laboratoria/DEV010-text-analyzer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathanalyzer.spec.js
152 lines (119 loc) · 5.53 KB
/
analyzer.spec.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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
// importamos el objeto 'analyzer', que contiene las funciones
import analyzer from '../src/analyzer';
const TEST_TEXT_NO_NUMBERS = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';
const TEST_TEXT_NUMBERS = 'Si tengo 8 manzanas y compro 2 más, ¿cúantas manzanas tengo en total?';
const TEST_TEXT_DECIMALS = 'Calcular la suma de 1.65 más 0.15 y más 1.10';
const TEST_TEXT_NOT_A_NUMBER = 'Esto no es un número: 41u0003jot';
describe('analyzer', () => {
describe('analyzer.getWordCount', () => {
it('debería retornar 19 para "' + TEST_TEXT_NO_NUMBERS + '"', () => {
expect(analyzer.getWordCount(TEST_TEXT_NO_NUMBERS)).toBe(19);
});
});
describe('analyzer.getCharacterCount', () => {
it('debería retornar 123 para "' + TEST_TEXT_NO_NUMBERS + '"', () => {
expect(analyzer.getCharacterCount(TEST_TEXT_NO_NUMBERS)).toBe(123);
});
});
describe('analyzer.getCharacterCountExcludingSpaces', () => {
it('debería retornar 102 para "' + TEST_TEXT_NO_NUMBERS + '"', () => {
expect(analyzer.getCharacterCountExcludingSpaces(TEST_TEXT_NO_NUMBERS)).toBe(102);
});
});
describe('analyzer.getAverageWordLength', () => {
it('debería retornar 5.53 para "' + TEST_TEXT_NO_NUMBERS + '"', () => {
expect(analyzer.getAverageWordLength(TEST_TEXT_NO_NUMBERS)).toBe(5.53);
});
});
describe('analyzer.getNumberCount', () => {
it('debería retornar 0 para "' + TEST_TEXT_NOT_A_NUMBER + '"', () => {
expect(analyzer.getNumberCount(TEST_TEXT_NOT_A_NUMBER)).toBe(0);
});
it('debería retornar 3 para "' + TEST_TEXT_DECIMALS + '"', () => {
expect(analyzer.getNumberCount(TEST_TEXT_DECIMALS)).toBe(3);
});
it('debería retornar 2 para "' + TEST_TEXT_NUMBERS + '"', () => {
expect(analyzer.getNumberCount(TEST_TEXT_NUMBERS)).toBe(2);
});
});
describe('analyzer.getNumberSum', () => {
it('debería retornar 0 para "' + TEST_TEXT_NO_NUMBERS + '"', () => {
expect(analyzer.getNumberSum(TEST_TEXT_NO_NUMBERS)).toBe(0);
});
it('debería retornar 0 para "' + TEST_TEXT_NOT_A_NUMBER + '"', () => {
expect(analyzer.getNumberSum(TEST_TEXT_NOT_A_NUMBER)).toBe(0);
});
it('debería retornar 2.9 para "' + TEST_TEXT_DECIMALS + '"', () => {
expect(analyzer.getNumberSum(TEST_TEXT_DECIMALS)).toBe(2.9);
});
it('debería retornar 10 para "' + TEST_TEXT_NUMBERS + '"', () => {
expect(analyzer.getNumberSum(TEST_TEXT_NUMBERS)).toBe(10);
});
});
});
//TODO: eliminar .skip para que se ejecute el test de las funcionalidades opcionales
describe.skip('Opcional:', () => {
const TEST_TEST_EMPTY = '';
const TEST_TEST_SPACES = ' ';
const TEST_TEXT_PUNCTUATION_MARKS = '.,;:"«»[]{}()¿?¡!-';
describe('analyzer.getWordCount', () => {
it('debería retornar 0 para "' + TEST_TEST_EMPTY + '"', () => {
expect(analyzer.getWordCount(TEST_TEST_EMPTY)).toBe(0);
});
it('debería retornar 0 para "' + TEST_TEST_SPACES + '"', () => {
expect(analyzer.getWordCount(TEST_TEST_SPACES)).toBe(0);
});
it('debería retornar 0 para "' + TEST_TEXT_PUNCTUATION_MARKS + '"', () => {
expect(analyzer.getWordCount(TEST_TEXT_PUNCTUATION_MARKS)).toBe(0);
});
});
describe('analyzer.getCharacterCount', () => {
it('debería retornar 0 para "' + TEST_TEST_EMPTY + '"', () => {
expect(analyzer.getCharacterCount(TEST_TEST_EMPTY)).toBe(0);
});
it('debería retornar 7 para "' + TEST_TEST_SPACES + '"', () => {
expect(analyzer.getCharacterCount(TEST_TEST_SPACES)).toBe(7);
});
it('debería retornar 18 para "' + TEST_TEXT_PUNCTUATION_MARKS + '"', () => {
expect(analyzer.getCharacterCount(TEST_TEXT_PUNCTUATION_MARKS)).toBe(18);
});
});
describe('analyzer.getCharacterCountExcludingSpaces', () => {
it('debería retornar 0 para "' + TEST_TEST_EMPTY + '"', () => {
expect(analyzer.getCharacterCountExcludingSpaces(TEST_TEST_EMPTY)).toBe(0);
});
it('debería retornar 0 para "' + TEST_TEST_SPACES + '"', () => {
expect(analyzer.getCharacterCountExcludingSpaces(TEST_TEST_SPACES)).toBe(0);
});
it('debería retornar 0 para "' + TEST_TEXT_PUNCTUATION_MARKS + '"', () => {
expect(analyzer.getCharacterCountExcludingSpaces(TEST_TEXT_PUNCTUATION_MARKS)).toBe(0);
});
});
describe('analyzer.getAverageWordLength', () => {
it('debería retornar 0 para "' + TEST_TEST_EMPTY + '"', () => {
expect(analyzer.getAverageWordLength(TEST_TEST_EMPTY)).toBe(0);
});
it('debería retornar 0 para "' + TEST_TEST_SPACES + '"', () => {
expect(analyzer.getAverageWordLength(TEST_TEST_SPACES)).toBe(0);
});
it('debería retornar 0 para "' + TEST_TEXT_PUNCTUATION_MARKS + '"', () => {
expect(analyzer.getAverageWordLength(TEST_TEXT_PUNCTUATION_MARKS)).toBe(0);
});
});
describe('analyzer.getNumberCount', () => {
it('debería retornar 0 para "' + TEST_TEST_EMPTY + '"', () => {
expect(analyzer.getNumberCount(TEST_TEST_EMPTY)).toBe(0);
});
it('debería retornar 0 para "' + TEST_TEST_SPACES + '"', () => {
expect(analyzer.getNumberCount(TEST_TEST_SPACES)).toBe(0);
});
});
describe('analyzer.getNumberSum', () => {
it('debería retornar 0 para "' + TEST_TEST_EMPTY + '"', () => {
expect(analyzer.getNumberSum(TEST_TEST_EMPTY)).toBe(0);
});
it('debería retornar 0 para "' + TEST_TEST_SPACES + '"', () => {
expect(analyzer.getNumberSum(TEST_TEST_SPACES)).toBe(0);
});
});
});