44
55use InvalidArgumentException ;
66use PhpSchool \PhpWorkshop \Exercise \ExerciseType ;
7+ use PhpSchool \PhpWorkshopTest \Asset \CliExerciseImpl ;
78use PhpSchool \PhpWorkshopTest \Asset \CliExerciseInterface ;
89use PHPUnit_Framework_TestCase ;
910use 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