Overview

Namespaces

  • expect
    • config
    • configurator
    • context
    • factory
    • matcher
      • strategy
    • package
    • registry
    • reporter

Classes

  • expect\config\ConfigurationLoader
  • expect\config\DefaultConfiguration
  • expect\config\RuntimeConfiguration
  • expect\configurator\DefaultConfigurator
  • expect\configurator\FileConfigurator
  • expect\context\DefaultContextFactory
  • expect\context\EvaluateContext
  • expect\Dictionary
  • expect\Expect
  • expect\factory\DefaultMatcherFactory
  • expect\FailedMessage
  • expect\matcher\PatternMatcher
  • expect\matcher\strategy\ArrayInclusionStrategy
  • expect\matcher\strategy\InclusionResult
  • expect\matcher\strategy\StringInclusionStrategy
  • expect\matcher\ToBe
  • expect\matcher\ToBeA
  • expect\matcher\ToBeAbove
  • expect\matcher\ToBeAn
  • expect\matcher\ToBeAnInstanceOf
  • expect\matcher\ToBeArray
  • expect\matcher\ToBeBelow
  • expect\matcher\ToBeBoolean
  • expect\matcher\ToBeEmpty
  • expect\matcher\ToBeFalse
  • expect\matcher\ToBeFalsey
  • expect\matcher\ToBeFloat
  • expect\matcher\ToBeGreaterThan
  • expect\matcher\ToBeInteger
  • expect\matcher\ToBeLessThan
  • expect\matcher\ToBeNull
  • expect\matcher\ToBeString
  • expect\matcher\ToBeTrue
  • expect\matcher\ToBeTruthy
  • expect\matcher\ToBeWithin
  • expect\matcher\ToContain
  • expect\matcher\ToEndWith
  • expect\matcher\ToEqual
  • expect\matcher\ToHaveKey
  • expect\matcher\ToHaveLength
  • expect\matcher\ToMatch
  • expect\matcher\ToPrint
  • expect\matcher\ToStartWith
  • expect\matcher\ToThrow
  • expect\matcher\TruthyMatcher
  • expect\MatcherDictionary
  • expect\MatcherEvaluator
  • expect\MatcherPackage
  • expect\package\DefaultMatcherPackage
  • expect\package\DefaultPackageRegistrar
  • expect\package\MatcherClass
  • expect\package\ReflectionIterator
  • expect\registry\DefaultMatcherRegistry
  • expect\reporter\ExceptionReporter
  • expect\reporter\TextMessageReporter
  • expect\Result

Interfaces

  • expect\Configurable
  • expect\Configuration
  • expect\Configurator
  • expect\Context
  • expect\ContextFactory
  • expect\Evaluator
  • expect\Matcher
  • expect\matcher\ReportableMatcher
  • expect\matcher\strategy\InclusionStrategy
  • expect\MatcherContainer
  • expect\MatcherFactory
  • expect\MatcherRegistry
  • expect\Message
  • expect\PackageRegistrar
  • expect\RegisterablePackage
  • expect\ResultReporter

Traits

  • expect\config\ConfigurableConfiguration
  • expect\matcher\EqualMatcherDelegatable
  • expect\matcher\GreaterThanMatcherDelegatable
  • expect\matcher\LengthMatcherDelegatable
  • expect\matcher\LessThanMatcherDelegatable
  • expect\matcher\TypeMatcherDelegatable
  • expect\MatcherLookupTable

Exceptions

  • expect\config\ConfigurationFileNotFoundException
  • expect\config\NotAvailableException
  • expect\package\ComposerJsonNotFoundException
  • expect\registry\MatcherAlreadyRegisteredException
  • expect\registry\MatcherNotRegisteredException
  • expect\reporter\FailedException

Functions

  • expect\expect
  • Overview
  • Namespace
  • Class
 1: <?php
 2: 
 3: /**
 4:  * This file is part of expect package.
 5:  *
 6:  * (c) Noritaka Horio <holy.shared.design@gmail.com>
 7:  *
 8:  * This source file is subject to the MIT license that is bundled
 9:  * with this source code in the file LICENSE.
10:  */
11: namespace expect\matcher;
12: 
13: use expect\FailedMessage;
14: 
15: /**
16:  * Verify whether the value is no range.
17:  *
18:  * <code>
19:  * $matcher = new ToBeWithin([0, 10]);
20:  * $matcher->match(1); //return true
21:  *
22:  * $matcher->match(11); //return false
23:  * </code>
24:  *
25:  * @author Noritaka Horio <holy.shared.design@gmail.com>
26:  * @copyright Noritaka Horio <holy.shared.design@gmail.com>
27:  */
28: final class ToBeWithin implements ReportableMatcher
29: {
30:     /**
31:      * @var int|float
32:      */
33:     private $actual;
34: 
35:     /**
36:      * @var int|float
37:      */
38:     private $from;
39: 
40:     /**
41:      * @var int|float
42:      */
43:     private $to;
44: 
45:     /**
46:      * Create a new matcher.
47:      *
48:      * @param array $expected
49:      */
50:     public function __construct($expected)
51:     {
52:         list($this->from, $this->to) = $expected;
53:     }
54: 
55:     /**
56:      * {@inheritdoc}
57:      */
58:     public function match($actual)
59:     {
60:         $this->actual = $actual;
61: 
62:         return ($this->actual >= $this->from && $this->actual <= $this->to);
63:     }
64: 
65:     /**
66:      * {@inheritdoc}
67:      */
68:     public function reportFailed(FailedMessage $message)
69:     {
70:         $message->appendText('Expected ')
71:             ->appendValue($this->actual)
72:             ->appendText(' to be within ');
73: 
74:         $this->appendRange($message);
75:     }
76: 
77:     /**
78:      * {@inheritdoc}
79:      */
80:     public function reportNegativeFailed(FailedMessage $message)
81:     {
82:         $message->appendText('Expected ')
83:             ->appendValue($this->actual)
84:             ->appendText(' not to be within ');
85: 
86:         $this->appendRange($message);
87:     }
88: 
89:     private function appendRange(FailedMessage $message)
90:     {
91:         $message->appendValue($this->from)
92:             ->appendText(' between ')
93:             ->appendValue($this->to);
94:     }
95: }
96: 
Expect API documentation generated by ApiGen