count() публичный статический Метод

Assert that the count of countable is equal to count.
public static count ( array | Countable $countable, integer $count, string $message = null, string $propertyPath = null ) : boolean
$countable array | Countable
$count integer
$message string
$propertyPath string
Результат boolean
 /**
  * @Then I should see the following locales:
  */
 public function iShouldSeeTheFollowingLocales(TableNode $table)
 {
     foreach ($table->getHash() as $row) {
         Assertion::keyExists($this->result, $row['shortcut']);
         Assertion::eq($row['display_name'], $this->result[$row['shortcut']]);
     }
     Assertion::count(iterator_to_array($table), count($this->result));
 }
 public function __construct(string $xmlFolder, array $additionalTypes = [], CacheItemPoolInterface $cache = null)
 {
     if (!empty($additionalTypes)) {
         Assertion::count(array_filter($additionalTypes, function ($type) : bool {
             return !$type instanceof TypeInterface;
         }), 0, sprintf('At least one element in array is not an instance of %s', TypeInterface::class));
     }
     $this->xmlFolder = $xmlFolder;
     $this->types = $additionalTypes + $this->createBuiltInTypes();
     $this->cache = $cache ?: new VoidCachePool();
 }
 /**
  * @Then he should see the following data:
  *
  * @param TableNode $table
  */
 public function heShouldSeeTheFollowingData(TableNode $table)
 {
     $hash = $table->getHash();
     $em = $this->getEntityManager();
     Assertion::count($this->response, count($hash));
     foreach ($hash as $row) {
         $username = $row['username'];
         $isOnline = $row['is_online'] === 'true';
         $userId = $em->getRepository('Account:User')->findOneBy(['username' => $username])->getId();
         Assertion::keyExists($this->response, $userId);
         Assertion::same($isOnline, $this->response[$userId]);
     }
 }
 /**
  * @Then I should have an activation email
  */
 public function iShouldHaveAnActivationEmail()
 {
     $client = $this->recentClient;
     /** @var \Symfony\Bundle\SwiftMailerBundle\DataCollector\MessageDataCollector $mailCollector */
     $mailCollector = $client->getProfile()->getCollector('swiftmailer');
     Assertion::eq(1, $mailCollector->getMessageCount());
     /** @var \Swift_Message $message */
     $message = $mailCollector->getMessages()[0];
     Assertion::eq($message->getSubject(), 'Sententiaregum Notifications');
     Assertion::eq(key($message->getTo()), '*****@*****.**');
     $crawler = new Crawler();
     $crawler->addContent($message->getChildren()[1]->getBody());
     Assertion::count($message->getChildren(), 2);
     Assertion::eq(1, $crawler->filter('#n-ac-l-p')->count());
     Assertion::notEq(0, preg_match('/!\\/activate\\/(.*)/', $message->getChildren()[0]->getBody()));
 }
 /**
  * @Then /^I should've gotten an email$/
  */
 public function checkEmail()
 {
     /** @var \Symfony\Bundle\SwiftmailerBundle\DataCollector\MessageDataCollector $profile */
     $profile = $this->apiContext->getProfile()->getCollector('swiftmailer');
     Assertion::eq(1, $profile->getMessageCount());
     /** @var \Swift_Message $message */
     $message = $profile->getMessages()[0];
     // user registers as "de", so email should be in german
     Assertion::eq($message->getSubject(), 'Benachrichtigungen von Sententiaregum');
     Assertion::eq(key($message->getTo()), '*****@*****.**');
     $crawler = new Crawler();
     $crawler->addContent($message->getChildren()[1]->getBody());
     Assertion::count($message->getChildren(), 2);
     Assertion::eq(1, $crawler->filter('#n-ac-l-p')->count());
     Assertion::notEq(0, preg_match('/\\/activate\\/(.*)/', $message->getChildren()[0]->getBody()));
 }
Пример #6
0
 /**
  * @dataProvider dataInvalidCount
  */
 public function testInvalidCount($countable, $count)
 {
     $this->setExpectedException('Assert\\AssertionFailedException', 'List does not contain exactly "' . $count . '" elements.', Assertion::INVALID_COUNT);
     Assertion::count($countable, $count);
 }
Пример #7
0
 /**
  * @dataProvider dataInvalidCount
  */
 public function testInvalidCount($countable, $count)
 {
     $this->setExpectedException('Assert\\AssertionFailedException', null, Assertion::INVALID_COUNT);
     Assertion::count($countable, $count);
 }
Пример #8
0
 private function validateArray(array $array, string $expectedClassName)
 {
     Assertion::count(array_filter($array, function ($metadata) use($expectedClassName) : bool {
         return !$metadata instanceof $expectedClassName;
     }), 0, sprintf('At least one element in array is not an instance of %s', $expectedClassName));
 }
 /**
  * @Then I should get two ids
  */
 public function iShouldGetTwoIds()
 {
     Assertion::count($this->followerIds, 2);
 }
Пример #10
0
 /**
  * Resets the Temporal object to its initial value
  *
  * @return int Returns the initial value
  */
 public function reset()
 {
     Assertion::notNull(self::$redis, "Redis connection hasn't been set");
     // Remove each individual key
     $items = self::$redis->sMembers($this->identifier);
     foreach ($items as $i) {
         self::$redis->delete($i);
     }
     // Remove the set and check its emptiness
     self::$redis->delete($this->identifier);
     Assertion::count(self::$redis->sMembers($this->identifier), 0);
     return $this->initialNumber;
 }
 /**
  * @Then I should see the following name suggestions:
  */
 public function iShouldSeeTheFollowingNameSuggestions(TableNode $table)
 {
     Assertion::inArray($table->getRow(1)[0], $this->suggestions);
     Assertion::count($this->suggestions, 2);
 }
Пример #12
0
 /**
  * @param int $successfulItems
  * @param int $failedItems
  * @param array $failedMessages
  * @param WorkflowMessage $originMessage
  * @return LogMessage
  */
 public static function logItemsProcessingFailed($successfulItems, $failedItems, array $failedMessages, WorkflowMessage $originMessage)
 {
     Assertion::integer($successfulItems);
     Assertion::integer($failedItems);
     foreach ($failedMessages as $failedMsg) {
         Assertion::string($failedMsg);
     }
     Assertion::count($failedMessages, $failedItems, "Number of failed messages should be the same as number of failed items");
     return new self($originMessage->target(), $originMessage->processTaskListPosition(), sprintf('Processing for %d of %d items failed', $failedItems, $successfulItems + $failedItems), self::ERROR_ITEMS_PROCESSING_FAILED, [self::MSG_PARAM_SUCCESSFUL_ITEMS => $successfulItems, self::MSG_PARAM_FAILED_ITEMS => $failedItems, self::MSG_PARAM_FAILED_MESSAGES => $failedMessages]);
 }
Пример #13
0
 /**
  * @Then I should see the following names:
  *
  * @param TableNode $table
  */
 public function validateNames(TableNode $table)
 {
     $list = array_column($table->getHash(), 'username');
     Assertion::allInArray($this->filterResult, $list);
     Assertion::count($this->filterResult, count($list));
 }