Skip to content

Commit 0a77613

Browse files
committed
Simplify exercise repo tests
1 parent d2e06f3 commit 0a77613

File tree

1 file changed

+19
-40
lines changed

1 file changed

+19
-40
lines changed

test/ExerciseRepositoryTest.php

Lines changed: 19 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use InvalidArgumentException;
66
use PhpSchool\PhpWorkshop\Exercise\ExerciseType;
7+
use PhpSchool\PhpWorkshopTest\Asset\CliExerciseImpl;
78
use PhpSchool\PhpWorkshopTest\Asset\CliExerciseInterface;
89
use PHPUnit_Framework_TestCase;
910
use PhpSchool\PhpWorkshop\Exercise\ExerciseInterface;
@@ -18,14 +19,9 @@ class ExerciseRepositoryTest extends PHPUnit_Framework_TestCase
1819
{
1920
public function testFindAll()
2021
{
21-
$exercise1 = $this->prophesize(CliExerciseInterface::class);
22-
$exercise2 = $this->prophesize(CliExerciseInterface::class);
23-
$exercise1->getType()->willReturn(ExerciseType::CLI());
24-
$exercise2->getType()->willReturn(ExerciseType::CLI());
25-
2622
$exercises = [
27-
$exercise1->reveal(),
28-
$exercise2->reveal()
23+
new CliExerciseImpl('Exercise 1'),
24+
new CliExerciseImpl('Exercise 2'),
2925
];
3026

3127
$repo = new ExerciseRepository($exercises);
@@ -35,18 +31,13 @@ public function testFindAll()
3531

3632
public function testFindByName()
3733
{
38-
$exercise1 = $this->prophesize(CliExerciseInterface::class);
39-
$exercise2 = $this->prophesize(CliExerciseInterface::class);
40-
$exercise1->getType()->willReturn(ExerciseType::CLI());
41-
$exercise2->getType()->willReturn(ExerciseType::CLI());
42-
$exercise1->getName()->willReturn('exercise1');
43-
$exercise2->getName()->willReturn('exercise2');
44-
45-
$exercise1 = $exercise1->reveal();
46-
$exercise2 = $exercise2->reveal();
34+
$exercises = [
35+
new CliExerciseImpl('Exercise 1'),
36+
new CliExerciseImpl('Exercise 2'),
37+
];
4738

48-
$repo = new ExerciseRepository([$exercise1, $exercise2]);
49-
$this->assertSame($exercise2, $repo->findByName('exercise2'));
39+
$repo = new ExerciseRepository($exercises);
40+
$this->assertSame($exercises[1], $repo->findByName('Exercise 2'));
5041
}
5142

5243
public function testFindByNameThrowsExceptionIfNotFound()
@@ -60,27 +51,20 @@ public function testFindByNameThrowsExceptionIfNotFound()
6051

6152
public function testGetAllNames()
6253
{
63-
$exercise1 = $this->prophesize(CliExerciseInterface::class);
64-
$exercise2 = $this->prophesize(CliExerciseInterface::class);
65-
$exercise1->getType()->willReturn(ExerciseType::CLI());
66-
$exercise2->getType()->willReturn(ExerciseType::CLI());
67-
$exercise1->getName()->willReturn('exercise1');
68-
$exercise2->getName()->willReturn('exercise2');
54+
$exercises = [
55+
new CliExerciseImpl('Exercise 1'),
56+
new CliExerciseImpl('Exercise 2'),
57+
];
6958

70-
$repo = new ExerciseRepository([$exercise1->reveal(), $exercise2->reveal()]);
71-
$this->assertSame(['exercise1', 'exercise2'], $repo->getAllNames());
59+
$repo = new ExerciseRepository($exercises);
60+
$this->assertSame(['Exercise 1', 'Exercise 2'], $repo->getAllNames());
7261
}
7362

7463
public function testCount()
7564
{
76-
$exercise1 = $this->prophesize(CliExerciseInterface::class);
77-
$exercise2 = $this->prophesize(CliExerciseInterface::class);
78-
$exercise1->getType()->willReturn(ExerciseType::CLI());
79-
$exercise2->getType()->willReturn(ExerciseType::CLI());
80-
8165
$exercises = [
82-
$exercise1->reveal(),
83-
$exercise2->reveal()
66+
new CliExerciseImpl('Exercise 1'),
67+
new CliExerciseImpl('Exercise 2'),
8468
];
8569

8670
$repo = new ExerciseRepository($exercises);
@@ -89,14 +73,9 @@ public function testCount()
8973

9074
public function testIterator()
9175
{
92-
$exercise1 = $this->prophesize(CliExerciseInterface::class);
93-
$exercise2 = $this->prophesize(CliExerciseInterface::class);
94-
$exercise1->getType()->willReturn(ExerciseType::CLI());
95-
$exercise2->getType()->willReturn(ExerciseType::CLI());
96-
9776
$exercises = [
98-
$exercise1->reveal(),
99-
$exercise2->reveal()
77+
new CliExerciseImpl('Exercise 1'),
78+
new CliExerciseImpl('Exercise 2'),
10079
];
10180

10281
$repo = new ExerciseRepository($exercises);

0 commit comments

Comments
 (0)