diff vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ApproximateValueTokenSpec.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ApproximateValueTokenSpec.php	Wed Nov 29 16:09:58 2017 +0000
@@ -0,0 +1,55 @@
+<?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');
+    }
+}