Server IP : 23.254.227.96 / Your IP : 216.73.216.7 Web Server : Apache/2.4.62 (Unix) OpenSSL/1.1.1k System : Linux hwsrv-1277026.hostwindsdns.com 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 14:53:41 EDT 2023 x86_64 User : viralblo ( 1001) PHP Version : 8.1.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/viralblo/instantblog/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/ |
Upload File : |
<?php namespace Hamcrest; /* Copyright (c) 2009 hamcrest.org */ /** * Supporting class for matching a feature of an object. Implement * <code>featureValueOf()</code> in a subclass to pull out the feature to be * matched against. */ abstract class FeatureMatcher extends TypeSafeDiagnosingMatcher { private $_subMatcher; private $_featureDescription; private $_featureName; /** * Constructor. * * @param string $type * @param string $subtype * @param \Hamcrest\Matcher $subMatcher The matcher to apply to the feature * @param string $featureDescription Descriptive text to use in describeTo * @param string $featureName Identifying text for mismatch message */ public function __construct($type, $subtype, Matcher $subMatcher, $featureDescription, $featureName) { parent::__construct($type, $subtype); $this->_subMatcher = $subMatcher; $this->_featureDescription = $featureDescription; $this->_featureName = $featureName; } /** * Implement this to extract the interesting feature. * * @param mixed $actual the target object * * @return mixed the feature to be matched */ abstract protected function featureValueOf($actual); public function matchesSafelyWithDiagnosticDescription($actual, Description $mismatchDescription) { $featureValue = $this->featureValueOf($actual); if (!$this->_subMatcher->matches($featureValue)) { $mismatchDescription->appendText($this->_featureName) ->appendText(' was ')->appendValue($featureValue); return false; } return true; } final public function describeTo(Description $description) { $description->appendText($this->_featureDescription)->appendText(' ') ->appendDescriptionOf($this->_subMatcher) ; } }