Skip to content

Commit 47e63cc

Browse files
committed
Adding tests for "De-FizzBuzzer".
1 parent 8a7a234 commit 47e63cc

File tree

13 files changed

+341
-0
lines changed

13 files changed

+341
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2727
- Tests for "Goldbach’s conjecture".
2828
- Tests for "Let's go to the cinema!".
2929
- Tests for "ASCII ART : glass stacking".
30+
- Tests for "De-FizzBuzzer".
3031

3132
## [1.16.0] - 2022-12-31
3233
### Added
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/**
2+
* The "De-FizzBuzzer" puzzle.
3+
* @see {@link https://www.codingame.com/ide/puzzle/de-fizzbuzzer}
4+
*/
5+
function execute(readline) {
6+
const n = parseInt(readline());
7+
for (let i = 0; i < n; i++) {
8+
const row = readline();
9+
}
10+
11+
// Write an answer using console.log()
12+
// To debug: console.error('Debug messages...');
13+
14+
console.log('answer');
15+
}
16+
17+
export { execute };
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
import { assert } from 'chai';
2+
import sinon from 'sinon';
3+
import File from '../../../../File.js';
4+
import { assertOutputAnswer } from '../../../../assertOutputAnswer.js';
5+
import { execute } from '../../../../../lib/community/training/medium/deFizzBuzzer/deFizzBuzzer.js';
6+
7+
const __dirname = new URL('.', import.meta.url).pathname;
8+
9+
suite("De-FizzBuzzer", function() {
10+
const sandbox = sinon.createSandbox();
11+
12+
setup(function () {
13+
sandbox.stub(console, "log");
14+
});
15+
16+
teardown(function () {
17+
sandbox.restore();
18+
});
19+
20+
21+
test("Plain number", function() {
22+
let inputFile = new File(__dirname + 'input/01 - plain number.txt');
23+
24+
execute(inputFile.readline.bind(inputFile));
25+
26+
assertOutputAnswer(__dirname + 'output/01 - plain number.txt');
27+
});
28+
29+
test("Two simple ones", function() {
30+
let inputFile = new File(__dirname + 'input/02 - two simple ones.txt');
31+
32+
execute(inputFile.readline.bind(inputFile));
33+
34+
assertOutputAnswer(__dirname + 'output/02 - two simple ones.txt');
35+
});
36+
37+
test("More words", function() {
38+
let inputFile = new File(__dirname + 'input/03 - more words.txt');
39+
40+
execute(inputFile.readline.bind(inputFile));
41+
42+
assertOutputAnswer(__dirname + 'output/03 - more words.txt');
43+
});
44+
45+
test("Error cases", function() {
46+
let inputFile = new File(__dirname + 'input/04 - error cases.txt');
47+
48+
execute(inputFile.readline.bind(inputFile));
49+
50+
assertOutputAnswer(__dirname + 'output/04 - error cases.txt');
51+
});
52+
53+
test("Lots of cases", function() {
54+
let inputFile = new File(__dirname + 'input/05 - lots of cases.txt');
55+
56+
execute(inputFile.readline.bind(inputFile));
57+
58+
assertOutputAnswer(__dirname + 'output/05 - lots of cases.txt');
59+
});
60+
});
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
20
2+
1
3+
2
4+
FizzFizz
5+
4
6+
BuzzBuzz
7+
Fizz
8+
7
9+
8
10+
FizzFizz
11+
Buzz
12+
11
13+
Fizz
14+
Fizz
15+
14
16+
FizzBuzzBuzz
17+
16
18+
17
19+
FizzFizz
20+
19
21+
Buzz
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
2
2+
Fizz
3+
BuzzBuzz
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
4
2+
FizzBuzz
3+
BuzzBuzzBuzz
4+
BuzzBuzzBuzzBuzz
5+
FizzFizzFizzFizzFizz
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
3
2+
23
3+
56
4+
POTATO
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
100
2+
Buzz
3+
BuzzBuzz
4+
BuzzBuzzBuzz
5+
BuzzBuzzBuzzBuzz
6+
BuzzBuzzBuzzBuzzBuzz
7+
Fizz
8+
FizzBuzz
9+
FizzBuzzBuzz
10+
FizzBuzzBuzzBuzz
11+
FizzBuzzBuzzBuzzBuzz
12+
FizzFizz
13+
FizzFizzBuzz
14+
FizzFizzBuzzBuzz
15+
FizzFizzBuzzBuzzBuzz
16+
FizzFizzBuzzBuzzBuzzBuzz
17+
FizzFizzFizz
18+
FizzFizzFizzBuzz
19+
FizzFizzFizzBuzzBuzz
20+
FizzFizzFizzBuzzBuzzBuzz
21+
FizzFizzFizzFizz
22+
FizzFizzFizzFizzBuzz
23+
FizzFizzFizzFizzBuzzBuzz
24+
FizzFizzFizzFizzFizz
25+
FizzFizzFizzFizzFizzFizz
26+
Nothing
27+
is
28+
ever
29+
easy
30+
8
31+
11
32+
14
33+
16
34+
17
35+
19
36+
22
37+
26
38+
28
39+
29
40+
41
41+
44
42+
46
43+
47
44+
49
45+
61
46+
62
47+
THE
48+
CAKE
49+
IS
50+
A
51+
LIE
52+
76
53+
77
54+
79
55+
82
56+
86
57+
88
58+
89
59+
91
60+
92
61+
94
62+
97
63+
98
64+
101
65+
104
66+
106
67+
107
68+
109
69+
112
70+
116
71+
118
72+
119
73+
121
74+
122
75+
124
76+
127
77+
128
78+
142
79+
146
80+
148
81+
149
82+
161
83+
164
84+
166
85+
167
86+
169
87+
172
88+
176
89+
178
90+
179
91+
181
92+
182
93+
184
94+
187
95+
188
96+
191
97+
194
98+
196
99+
197
100+
199
101+
202
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
1
2+
2
3+
3
4+
4
5+
5
6+
6
7+
7
8+
8
9+
3
10+
10
11+
11
12+
6
13+
6
14+
14
15+
15
16+
16
17+
17
18+
3
19+
19
20+
10
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
6
2+
5

0 commit comments

Comments
 (0)