Skip to content

Commit 7f35b4a

Browse files
committed
Adding tests for "1D bush fire".
1 parent 99735d9 commit 7f35b4a

File tree

13 files changed

+471
-0
lines changed

13 files changed

+471
-0
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

77
## [Unreleased]
8+
### Added
9+
- Tests for "1D bush fire".
10+
811
### Changed
912
- "@medium" group to enforce time limit.
1013

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace CyrilVerloop\Codingame\Community\Training\Easy\OneDBushFire;
6+
7+
use CyrilVerloop\Codingame\Puzzle;
8+
9+
/**
10+
* The "1D bush fire" puzzle.
11+
*/
12+
class OneDBushFire implements Puzzle
13+
{
14+
public function execute($stdin): void
15+
{
16+
fscanf($stdin, "%d", $N);
17+
for ($i = 0; $i < $N; $i++)
18+
{
19+
$line = stream_get_line($stdin, 255 + 1, "\n");
20+
}
21+
for ($i = 0; $i < $N; $i++)
22+
{
23+
24+
// Write an answer using echo(). DON'T FORGET THE TRAILING \n
25+
26+
echo("answer\n");
27+
}
28+
}
29+
}
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace CyrilVerloop\Codingame\Tests\Community\Training\Easy\OneDBushFire;
6+
7+
use CyrilVerloop\Codingame\Tests\PuzzleTest;
8+
use CyrilVerloop\Codingame\Community\Training\Easy\OneDBushFire\OneDBushFire;
9+
10+
/**
11+
* Tests for the "1D bush fire" puzzle.
12+
*
13+
* @covers \CyrilVerloop\Codingame\Community\Training\Easy\OneDBushFire\OneDBushFire
14+
* @group oneDBushFire
15+
* @medium
16+
*/
17+
final class CGTest extends PuzzleTest
18+
{
19+
public function setUp(): void
20+
{
21+
$this->puzzle = new OneDBushFire();
22+
}
23+
24+
/**
25+
* Test that the code can be executed for "Example".
26+
*
27+
* @group oneDBushFire_example
28+
*/
29+
public function testCanExecuteExample(): void
30+
{
31+
$this->expectExecuteOutputAnswer(
32+
__DIR__ . '/input/01 - example.txt',
33+
file_get_contents(__DIR__ . '/output/01 - example.txt')
34+
);
35+
}
36+
37+
/**
38+
* Test that the code can be executed for "Basic operations".
39+
*
40+
* @group oneDBushFire_basicOperations
41+
*/
42+
public function testCanExecuteBasicOperations(): void
43+
{
44+
$this->expectExecuteOutputAnswer(
45+
__DIR__ . '/input/02 - basic operations.txt',
46+
file_get_contents(__DIR__ . '/output/02 - basic operations.txt')
47+
);
48+
}
49+
50+
/**
51+
* Test that the code can be executed for "Smoky trail".
52+
*
53+
* @group oneDBushFire_smokyTrail
54+
*/
55+
public function testCanExecuteSmokyTrail(): void
56+
{
57+
$this->expectExecuteOutputAnswer(
58+
__DIR__ . '/input/03 - smoky trail.txt',
59+
file_get_contents(__DIR__ . '/output/03 - smoky trail.txt')
60+
);
61+
}
62+
63+
/**
64+
* Test that the code can be executed for "Traps in fames".
65+
*
66+
* @group oneDBushFire_trapsInFames
67+
*/
68+
public function testCanExecuteTrapsInFames(): void
69+
{
70+
$this->expectExecuteOutputAnswer(
71+
__DIR__ . '/input/04 - traps in fames.txt',
72+
file_get_contents(__DIR__ . '/output/04 - traps in fames.txt')
73+
);
74+
}
75+
76+
/**
77+
* Test that the code can be executed for "Ambushes".
78+
*
79+
* @group oneDBushFire_ambushes
80+
*/
81+
public function testCanExecuteAmbushes(): void
82+
{
83+
$this->expectExecuteOutputAnswer(
84+
__DIR__ . '/input/05 - ambushes.txt',
85+
file_get_contents(__DIR__ . '/output/05 - ambushes.txt')
86+
);
87+
}
88+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
2
2+
....f....f..
3+
.......fff
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
18
2+
f.f
3+
fff..ffff..
4+
..
5+
ffffff
6+
ff.ff
7+
ffff..ff.f
8+
fffff.ffff
9+
ffff.ffff
10+
ffff.ffff.ff
11+
ff.ff..fff
12+
ff.ff..ffff.f
13+
....
14+
f
15+
..ff
16+
fffff
17+
f..fff
18+
ff..
19+
f.f.f.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
34
2+
..
3+
.f
4+
fff
5+
..f.
6+
ffffff
7+
ff...f
8+
f.ff.ff.f
9+
ffffffff.f
10+
fff..ffff..
11+
ff.fffff..f
12+
f.ffff..f.ffff
13+
..ff.ffff..f.fffffff
14+
ffffff.f.f.ffff...ffffff
15+
ffff.ff.fff..fff...fffffff
16+
ffff.f.ffffff..ffff.f.ffffffff.
17+
f.ffff.ffff..ff.ffffff.fff.f.ff.
18+
fffffff.fff..ffff.f..fffff.f.fffff.ff
19+
f.fff.f.ffffffff.fff.f.f..fffffffff.ff.f
20+
.f.ffffff..ff.f.fff..ffff..ffff.ffff.fff
21+
ff.f.fff.fffffffff.f.ff.ff.fffffff.fffffff
22+
ff.ffffff.ffffffffffffffffffffffff.f.ff.f.ff
23+
.f.f..fffffffffffff.fffffff..fffff.fff.fffff.f
24+
fffff.f.f.f.ff.fff..fff..fffffffff..fff.f.ffff..ff.fffff
25+
fffffff..f.ff.f.ffffff.ffffffff..ffff.f.ffffffff..f.fff.
26+
f..ff..ff..f.fffff.f.fffffffff.fffff.ffffffff..ff..f.ffff.
27+
f.fffffffffffffff.fffff..fffff.f.ffffff.f..f.f..ffffff..ff.f.f
28+
.fff.ff.ffffff.f..fff.fffff..f.fffffff..ffff.ffffffff..f.ffff..
29+
fffffffff...ffffff...fff...fffff.f.fffff.fff.ffffff.fffff..ffffffffff.fff
30+
ff.f..f.fff.ffffff.fff.f.f.ffff..f.f.f.f..fff..ffffffff.ff.f.fffffff..fff.ff
31+
ffffff.ff.fffff.fffffff...ff.fffff..fffffff.f.ff.ffffffff.ffffffffff.ff.fffff
32+
.ffffffffffff..f..ff.f.fff.ffffff.f.f..ffffff.f.fff..ff.ff.ffffff..f.f.ffff.ff.
33+
ff.f.fffff...ffff.ffffff.ffffffff.fff.fff.fffffffff.fff.f.fffff.ff.f..ff.f.f.f..f.f
34+
ffffff.ff.ff.ff...fffffffffff..ff..ffffff.ff.fffffff..fff.f.fffffff..fffffff..ff..ffff.
35+
ffff..ff.fffffff.f.fff.ffff.fff..f.fffffff..fff.ff.ff.ffffffff.f.f..f.fffff.fff.ffffffffff.f.f
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
39
2+
ff
3+
ff.
4+
fffff
5+
ff.ffff
6+
.f..f.f.f
7+
f..ffffff
8+
.ff.f.f...f
9+
....f..fffffff...f
10+
..f.fff..ff.f.f.f...
11+
.ffff.f.ffff..f...f.
12+
f.f.f.f..ffffff.f...f.f
13+
f.ffff..f..f.ff.ff.fffff..
14+
...fff....f.ff..f...fffff.
15+
fff.f.ff.fffffff.f.ffff.ff.fff
16+
ffffff...ff.f.fff.ff.fff.f.f.ffffff..
17+
fffff.fff.ffffffff..fffffff.ffffffffffffffff
18+
f.fffff..f....ffff...f..f.fff....f..fff.f.f.f
19+
.fffff.ff.fffff.ffff.ff.f..ff.fffff.ff.fffffffff
20+
..fffffff.ffffffff.fffffffffffff..fffffffffffff.f
21+
.f.f..ff..f.ffff.f..f.fff.ffff...f..f.f...f.ff.ff
22+
....f.f....f.ff.f..ff..fff..fff.ffff...ff..f...fff.
23+
.ff..fff...ff.f...f.f..f....f.ff.f.f.fff..fff.ff..f
24+
fff.ffff..fffffffffffffff.fffffffff.f...f.fffff.f..f.f..f
25+
f.ff.f.ff.......f..ff.fff..ff...fff.fff..ffff.ff...ff...f
26+
fff.f.ff..f.f..f.ffffffffff.ff..f...f..fffff..f...ffffff..fff
27+
..fffff.ffff.ff..fffff.f.f.f.fff.ff.ffffffff.ff.ffffffff....f.f
28+
f.f...fff.f.ffff.ffff..f..f..f..f.....f.f....fffff.f..f.ff..f.fffff.
29+
fffffffffffffff..fffffff.fffffff.f.fffffffffffffff.ff.ff.fffff.ff.ff.
30+
fffffffffffffffff..f..fff.fff.ffffffffffff.fffffff.fffff.fff.fff.ffffffffff.fff
31+
fffff.....ff..ff..f..fff..ff.fffffff..ff......ffffffff.f.fff.ff.f...f...ff.f.f.f.f.
32+
ffff..ff..ffff.f.ffff..ffff.fff.ffff.f.ff...ff.fff.fffff.fffffffffff.fff.fffffffff.ff
33+
f.f.....ffffffffffff..f.f..f..ff..ff..f..f.ff....f.fff.fff.fff.f......f..ff.ffff.f.f.
34+
ff.fffff.fff...ffff..f.f..f.f..fffffffffff..fffffffffff.ff.ff..fff.ffff.ff.ffff.fff.ffffff
35+
.f..ffff.f.f.ff..ffffff..f.fffffffff.ffffff.fffffff.ff.ff..fffffff.f.ff.ffffffffffffff.f.f
36+
f.ffffffffffffffffff.ffffff.fff.ffff.fffffff.f.ffff.ffffff.fff..ffff.fffffffff.ffff.ffff.f.
37+
f.f..ff.f.ffff.f.f..f..ff.ff.f.f.f..ff.ffff....f..ff.f.fffffffff.f.f..fff.f..ff...fff.f.fff..
38+
ffff.f.f.ffffffff.fffffffffffff.ff..fffff..f.ffffff.fff.f.ff.f.fffff..f.fffffff.ffffff.fff.ff.ff
39+
.f.ffff.ff.ff.fff.fffff.fffffffff..fff.f.f.ff...ff.f.f..ffffff.fff.f..fff.f.f.f.ffff..ff....ff.fff
40+
......ff..f......f.f.f..f....ff.fff.f.f.f.f..f.fff.fffff....fffff.f.f.f...fffff.f.........f.ff.f..
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
80
2+
..f
3+
f.f..f
4+
ff.ff.
5+
ff.f.f.
6+
.fff.f..f
7+
f.ff.f..f
8+
fff..f.ff.
9+
f.f...fff...f
10+
..fffff.....ff
11+
f.....ffffff.f.
12+
f...fffff...ffff
13+
f.ffff..f....f.f
14+
f...f..f.f.f.ff..
15+
f.f..f...fffff.ff...
16+
ff.....ff.....f....ff
17+
...f..f..f.f.f.f.f.fff
18+
fff.f.ffff..f.f.f.f.ff
19+
f....f...ff...ff.fffffff
20+
.fff.f.f.f.f.f.f....ffff...
21+
.f.f......ff..f.ff.ff.ff..f...
22+
fffffff.....f.f.ff..fffff...fff
23+
f....ff.....f......ff...f.fff...
24+
fff...fff.fff..fff.f.ff...ff....
25+
fff...ff...f.....ffffff.ff...f.f.f.
26+
...ff.ff..ff..f...ff.f.....f.f..ff.
27+
ff.f.fff.fff...f.f..f.f.f..f...ffff
28+
..f.f.f.f..f.ff..fff.f.ff......ffff
29+
.ff..fff..f.ff.ff...f.fff...ff.fff..f..
30+
f..f.fff.ff..f.ff..f..f..ffff...f......f
31+
..f.f.f.....f...f.f....f.ff.f.ffff..fff.
32+
.ff.fff.ff..f.fff.ff..ff...f...f...f.f.f.
33+
f.ff.f..ff.ffff.....f...f.ffff....ffff.f..f
34+
.....f.f.f..fff.f..ff.f.f..fff...ff.ff.f.f.
35+
.fff.ff.f.ff.ff....ff.f...ff..f...f....f.ff.f
36+
.ff.f.ff...ff.ffff.f...ff.fff.f.f...f.f.ff..f
37+
.ff....f.ff.f..f...ffffffff..f.f...f.fffffff.ff.ff
38+
ff..ff..f.f.ff.f.ff.ff..f.f....f.f.f.fff...f.ff....
39+
ff...ff.ff..ff.fff..fff..f.f......f.ff..fff..f.f.ff
40+
.fffff..f.ff...ff..fff.f.f..f.f.f.fffffff.ff...f..f.
41+
.fffffff.fffff...f..ff..ff..f.ff....f.ffffff.ff.ff.ff..f
42+
f.ffff.f..f.f.ff.f.....ff..f.ffff..f..ff...ffff.ff.......
43+
...ff.f..f.........f.f..fff...ffff.f...ffff......f...fff..
44+
f.f..f...f.f..fff...f.ff.fff..ff.ffff..f.f.fff.ff.f.........
45+
ffff.ff.ff..f....ff....ff.......f....ffff...ff.f.f...f..ff...
46+
f.f...ff.f..f.f.ff.f..ff.f....ffff.ff.ff.ff.f...f..fff.ff..f.
47+
..ffff...f.ff.f.f..ffff..f...ffffff.ff..ffff.f.f..f......f....f
48+
f..fff.f.....f.ff.ffff.f.f...fff.fffffff.......ff.fff.fff.f..f.f
49+
f...f.f...f...ff.f.f.fff.ff...f.ff.f.fff....ff....f.ff..f..fff.f
50+
....fff.ff...f....ff.ffff...fffff....f..f.f.fff........f..fff.f.
51+
f.ffffff.ff.ffff....ff.fff.f.f..ffff.ff.f.....f.f.ff......f.f..f...
52+
.f...f.f..ffff.ff.f.f.fff.ffff.f...f..fff.f.ff.fff.ffff.ff......fff
53+
ff.f.f.f..f.f..f..ffff.ff.f.ffff.ff.f..f..f..f.f..f.f...f.f.f.f..fff
54+
.fff.f.ff..ff.....f..f.f...f.ff......ff.f...ffffffffff........f.ff..
55+
ffff..f.fff..ff.ff.ffff.fff..ff.f.ff.f.ff..ff.f...ff.ff..f.f..ff.fff.
56+
...fff....ffffff..f...f.fff.f.f.f.fff.f..f..fffff..f....ff..f..ff...f
57+
...f.ff..ff..f...ff..f.f...f.fff.f..f...ffff...f.f.f.ff.f..f..ffff.fff.
58+
ff.f.fff...f.f..........f..ff.f.f..ff.fff...fff.f.f.....f.ff..f.f.f.f.f
59+
..f.fffff..f.ffff....ff.fffff.ff.ff..f.f.f..fffffffff.ff...ff....fffff.
60+
f.ffff..fffff..f.f..ff...ffffff..f.f.f..f.ff..f...f...ffff.ff.ff...f.ff
61+
fffff..ff.ff...fff..ff....f..f.f.fff..f...ff..ffffff..fffffff..f...ff.f.
62+
f...f.ff...f.fffff.....f.ff....fff.ffff....ff.f....f.f.f....f.f.fff.ff.f
63+
...f.....ff.ff...ff.f.f...ffff.ff.f.f.f....f.f.....f...f.ffff...f.fff...f..
64+
ff..f.f.ffff....fff.....fff....ff.f.f..f.f.f.ff.ff..f.ff..f.f......ff.fff..
65+
...f......f.f.f...ff.fff.fff.ffff..ffff...f..........ff.f..f..f..f.ff.f.ff..
66+
.ff..f.ff..f..f..f..f..f.f..fff.....f.ffff.f..f.f..f..ffff............f.....f
67+
f..fffff.fff...f.fff..f.f.f.f..fff.fff.fffffffffffff.f..f..ff....ffff..f.ffff.
68+
.f...ff..ff......f.f..fffff....fff..f.ff...f.f.ffff.f.ff...f...ff.f.ffffff...f.
69+
....ff.ff.f.f.f...fffff..f.f..f...fffffff.fff....ffff.fff.......f..f...f....f.f
70+
..fffff....f.ff.f..fff..f..f..f.fff.ff...fff...f.ff.f.ff.ff...f...f.f..fffffff..f.
71+
.ff.ff..f..f.fffff.f..f.f.ff...f.....f.ff.f.fff....f.ff...ff.ff.f..f..f.f.f...ff.ff
72+
..f.f.fffff.ff..f.f..fff.fff..ff...f.......f.f....f.f..f...ff..fffff...ff...f.ff..ff
73+
.fff.ff....fff.fffff.fffff...ff.....f.fffffff.....fff...f..f...fff.ff...f.f.fff.f..ff..
74+
f.f.f......ff..f....ff..ffff.ff.fff.f..ff..f..f......ffff.ff.f.ff.....ff..ff.ff..fffff.
75+
f..ff.f.fffffff...f....f..ff..ff....fff....ff...ff...ff.ffff......f.f..f..f....f...f.f.ffff
76+
.f..f.ff...f.f...fff...f...fff.f.ff.fff.f.fff..f.f.f.ff.ff..ff.ff.fff.f...fffff...f.ff.ff..f.
77+
ff..ff.f.f.....ffff..f..f.f..ffffffff......ffff...fffff.ff...f..f.ffff......f.f.fffffff..f.f..
78+
f..f.f...ff..ff.ff.fff...ff...fff.f..fff.fffff.f.ff.ff.ff.f.ff.ffff....ffff.f.f...fff....ffffff
79+
.f.f.f.f...f..ff..ff.ffff.fffff.ff....fffff.fff..f.f.ffff..ff...f..f..ff.ffff..f.f.f....ff..f..ff
80+
.ff.f..f.f.f..fffffffff..ff..ffff.ff.f.f.ff.f.f..f..fff.f...ff..f.fff.f..ffff....f..f.fff...fff.f
81+
ff.ff......f.f..ff..f..fffff.fff..fffff.f....f.f.f.f.f.ffff...ff.ffff.fffffffff.fff..ff..f.ff.f...
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
2
2+
1
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
1
2+
3
3+
0
4+
2
5+
2
6+
4
7+
4
8+
3
9+
4
10+
3
11+
4
12+
0
13+
1
14+
1
15+
2
16+
2
17+
1
18+
2

0 commit comments

Comments
 (0)