56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace spec\Prophecy\Argument\Token;
 | |
| 
 | |
| use PhpSpec\ObjectBehavior;
 | |
| use Prophecy\Argument;
 | |
| 
 | |
| class ApproximateValueTokenSpec extends ObjectBehavior
 | |
| {
 | |
|     function let()
 | |
|     {
 | |
|         $this->beConstructedWith(10.12345678, 4);
 | |
|     }
 | |
| 
 | |
|     function it_is_initializable()
 | |
|     {
 | |
|         $this->shouldHaveType('Prophecy\Argument\Token\ApproximateValueToken');
 | |
|     }
 | |
| 
 | |
|     function it_implements_TokenInterface()
 | |
|     {
 | |
|         $this->shouldBeAnInstanceOf('Prophecy\Argument\Token\TokenInterface');
 | |
|     }
 | |
| 
 | |
|     function it_is_not_last()
 | |
|     {
 | |
|         $this->shouldNotBeLast();
 | |
|     }
 | |
| 
 | |
|     function it_scores_10_if_rounded_argument_matches_rounded_value()
 | |
|     {
 | |
|         $this->scoreArgument(10.12345)->shouldReturn(10);
 | |
|     }
 | |
| 
 | |
|     function it_does_not_score_if_rounded_argument_does_not_match_rounded_value()
 | |
|     {
 | |
|         $this->scoreArgument(10.1234)->shouldReturn(false);
 | |
|     }
 | |
| 
 | |
|     function it_uses_a_default_precision_of_zero()
 | |
|     {
 | |
|         $this->beConstructedWith(10.7);
 | |
|         $this->scoreArgument(11.4)->shouldReturn(10);
 | |
|     }
 | |
| 
 | |
|     function it_does_not_score_if_rounded_argument_is_not_numeric()
 | |
|     {
 | |
|         $this->scoreArgument('hello')->shouldReturn(false);
 | |
|     }
 | |
| 
 | |
|     function it_has_simple_string_representation()
 | |
|     {
 | |
|         $this->__toString()->shouldBe('≅10.1235');
 | |
|     }
 | |
| }
 | 
