Skip to content

Instantly share code, notes, and snippets.

@MarcelloDuarte
Created December 20, 2013 10:19
Show Gist options
  • Save MarcelloDuarte/8052925 to your computer and use it in GitHub Desktop.
Save MarcelloDuarte/8052925 to your computer and use it in GitHub Desktop.
<?php
class BaseAdder
{
public function add($a, $b)
{
return $a + $b;
}
}
class BaseAdderSpec extends \PhpSpec\ObjectBehavior
{
function it_adds()
{
$this->add(1, 2)->shouldReturn(3);
}
}
class LogAdder
{
private $logger;
private $adder;
public function __construct(Logger $logger, BaseAdder $adder)
{
$this->logger = $logger;
$this->adder = $adder;
}
public function add($a, $b)
{
$this->logger->log("adding $a and $b");
$this->adder->add($a + $b);
}
}
class LogAddedSpec extends \PhpSpec\ObjectBehavior
{
function let(Logger $logger, BaseAdder $adder)
{
$this->beConstructedWith($logger, $adder);
}
function it_logs()
{
$this->logger->log("adding 1 and 2")->shouldBeCalled();
$this->adder->add(1, 2)->shouldBeCalled();
$this->add(1, 2);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment