Example #1
0
 /** @test */
 function it_is_dead_if_no_units_are_alive()
 {
     $unit1 = $this->getMock(Army\Unit\Unit::class);
     $unit2 = $this->getMock(Army\Unit\Unit::class);
     $unit1->method('isDead')->willReturn(true);
     $unit2->method('isDead')->willReturn(true);
     $this->army->add($unit1);
     $this->army->add($unit2);
     $this->assertTrue($this->army->isDead());
 }
 /** @test */
 function it_returns_false_when_trying_to_get_a_winner_while_more_than_one_army_alive()
 {
     $armyOne = new Army('Foo');
     $armyTwo = new Army('Bar');
     $armyOne->add(new Barbarian());
     $armyOne->add(new Archer());
     $armyTwo->add(new Giant());
     $this->simulator->addArmy($armyOne);
     $this->simulator->addArmy($armyTwo);
     $this->assertFalse($this->simulator->getWinner());
 }
Example #3
0
{
    public $value = 0;
    function add(unit $unit)
    {
        $this->value += 1;
    }
    function getValue()
    {
        return $this->vlaue;
    }
    function remove(unit $unit)
    {
        $this->value = 0;
    }
}
class Archer extends unit
{
    function add(unit $unit)
    {
        print_r($unit);
    }
    function remove(unit $unit)
    {
        print_r("Archer::remove()");
    }
}
$main = new Army();
$main->add(new Archer());
$main->add(new Archer());
$sub = new Archer();
$sub->add(new Archer());