1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
<?php
namespace spec\Prophecy\Argument\Token;
use PhpSpec\ObjectBehavior;
use Prophecy\Argument\Token\TokenInterface;
class LogicalNotTokenSpec extends ObjectBehavior
{
function let(TokenInterface $token)
{
$this->beConstructedWith($token);
}
function it_implements_TokenInterface()
{
$this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface');
}
function it_holds_originating_token($token)
{
$this->getOriginatingToken()->shouldReturn($token);
}
function it_has_simple_string_representation($token)
{
$token->__toString()->willReturn('value');
$this->__toString()->shouldBe('not(value)');
}
function it_wraps_non_token_argument_into_ExactValueToken()
{
$this->beConstructedWith(5);
$token = $this->getOriginatingToken();
$token->shouldhaveType('Prophecy\Argument\Token\ExactValueToken');
$token->getValue()->shouldBe(5);
}
function it_scores_4_if_preset_token_does_not_match_the_argument($token)
{
$token->scoreArgument('argument')->willReturn(false);
$this->scoreArgument('argument')->shouldBe(4);
}
function it_does_not_score_if_preset_token_matches_argument($token)
{
$token->scoreArgument('argument')->willReturn(5);
$this->scoreArgument('argument')->shouldBe(false);
}
function it_is_last_if_preset_token_is_last($token)
{
$token->isLast()->willReturn(true);
$this->shouldBeLast();
}
function it_is_not_last_if_preset_token_is_not_last($token)
{
$token->isLast()->willReturn(false);
$this->shouldNotBeLast();
}
}
|