public function test_present()
 {
     $guessing = new Guessing\Guessing(self::SEED);
     $view = new Guessing\GuessingView($guessing);
     //check if page contains initial setup elements
     //coverage for the else if num == 0 case
     $viewElements = $view->present();
     $this->assertContains('<p><input type="submit" name="clear" value="New Game"></p></form>', $viewElements);
     $this->assertContains('<form method="post" action="guessing-post.php">', $viewElements);
     $this->assertContains('<h1>Guessing Game</h1>', $viewElements);
     $this->assertContains('<p class="message">Try to guess the number.</p>', $viewElements);
     $this->assertContains('<p><label for="value">Guess:</label> <input type="text" name="value" id="value"></p>', $viewElements);
     $this->assertContains('<p><input type="submit"></p>', $viewElements);
     //check for invalid elements
     //covers for the check invalid case
     $guessing->guess('hi');
     $viewElements = $view->present();
     $this->assertContains('<p class="message">Your guess of hi is invalid!</p>', $viewElements);
     $this->assertContains('<p><label for="value">Guess:</label> <input type="text" name="value" id="value"></p>', $viewElements);
     $this->assertContains('<p><input type="submit"></p>', $viewElements);
     //check for correct case
     //covers for the else if check == correct case
     $guessing->guess(23);
     $viewElements = $view->present();
     $this->assertContains('<p class="message">After 1 guesses you are correct!</p>', $viewElements);
     $this->assertContains('<p>&nbsp;</p>', $viewElements);
     $this->assertContains('<p>&nbsp;</p>', $viewElements);
     //else too high case
     $guessing->guess(35);
     $viewElements = $view->present();
     $num = $guessing->getNumGuesses();
     $this->assertContains('<p class="message">After 2 guesses you are too high!</p>', $viewElements);
     $this->assertContains('<p><label for="value">Guess:</label> <input type="text" name="value" id="value"></p>', $viewElements);
     $this->assertContains('<p><input type="submit"></p>', $viewElements);
     $guessing->guess(1);
     $viewElements = $view->present();
     $num = $guessing->getNumGuesses();
     $this->assertContains('<p class="message">After 3 guesses you are too low!</p>', $viewElements);
     $this->assertContains('<p><label for="value">Guess:</label> <input type="text" name="value" id="value"></p>', $viewElements);
     $this->assertContains('<p><input type="submit"></p>', $viewElements);
 }
Example #2
0
<?php

require __DIR__ . '/lib/guessing.inc.php';
$view = new Guessing\GuessingView($guessing);
?>
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Guessing Game</title>
    <link href="guessing.css" type="text/css" rel="stylesheet" />

</head>
<body>
<?php 
echo $view->present();
?>
</body>
</html>