| 
<?php//--------------------------------------------------------------------------------------------------------------------------------
 //
 //    From console, run: $> php square.php
 //    to test all <spec-name>.specs.php files on your designated 'specs' folder (see: square.php)
 //
 //    To test a single spec: $>php square.php <my-spec>
 //    to test <my-spec>.specs.php
 //
 //--------------------------------------------------------------------------------------------------------------------------------
 /*
 GIVEN:
 
 class Bowling {
 public $score = 0;
 public $strike = FALSE;
 
 public function hit($pins) {
 if ($pins == 10) {
 $this->strike = TRUE;
 $this->score = $pins * 2;
 }
 if ($pins) {
 $this->score = $pins;
 }
 }
 }
 */
 include('../square_spec.php');
 
 use SquareSpec as SQ;
 
 SQ\describe('Bowling')->spec(
 SQ\before(
 SQ\let('bowling')->be(new Bowling)
 ),
 SQ\describe('#score')->spec(
 SQ\it("returns 0 for all gutter game")->spec(function($bowling) {
 for ($i = 0; $i < 20; $i++) {
 $bowling->hit(0);
 }
 $bowling->score->should->equals(0);
 })
 ),
 SQ\describe('#strike')->spec(
 SQ\it("returns 'strike' if all 10 pins are down")->spec(function($bowling) {
 $bowling->hit(10);
 $bowling->strike->should->be();
 })
 )
 )->test();
 ?>
 |