Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x

MetadataCollection.php

Namespace

PHPUnit\Metadata

File

vendor/phpunit/phpunit/src/Metadata/MetadataCollection.php

View source
<?php

declare (strict_types=1);

/*
 * This file is part of PHPUnit.
 *
 * (c) Sebastian Bergmann <sebastian@phpunit.de>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace PHPUnit\Metadata;

use function array_filter;
use function array_merge;
use function count;
use Countable;
use IteratorAggregate;

/**
 * @template-implements IteratorAggregate<int, Metadata>
 *
 * @psalm-immutable
 *
 * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
 */
final class MetadataCollection implements Countable, IteratorAggregate {
    
    /**
     * @psalm-var list<Metadata>
     */
    private readonly array $metadata;
    
    /**
     * @psalm-param list<Metadata> $metadata
     */
    public static function fromArray(array $metadata) : self {
        return new self(...$metadata);
    }
    private function __construct(Metadata ...$metadata) {
        $this->metadata = $metadata;
    }
    
    /**
     * @psalm-return list<Metadata>
     */
    public function asArray() : array {
        return $this->metadata;
    }
    public function count() : int {
        return count($this->metadata);
    }
    public function isEmpty() : bool {
        return $this->count() === 0;
    }
    public function isNotEmpty() : bool {
        return $this->count() > 0;
    }
    public function getIterator() : MetadataCollectionIterator {
        return new MetadataCollectionIterator($this);
    }
    public function mergeWith(self $other) : self {
        return new self(...array_merge($this->asArray(), $other->asArray()));
    }
    public function isClassLevel() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isClassLevel()));
    }
    public function isMethodLevel() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isMethodLevel()));
    }
    public function isAfter() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isAfter()));
    }
    public function isAfterClass() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isAfterClass()));
    }
    public function isBackupGlobals() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isBackupGlobals()));
    }
    public function isBackupStaticProperties() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isBackupStaticProperties()));
    }
    public function isBeforeClass() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isBeforeClass()));
    }
    public function isBefore() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isBefore()));
    }
    public function isCovers() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isCovers()));
    }
    public function isCoversClass() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isCoversClass()));
    }
    public function isCoversDefaultClass() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isCoversDefaultClass()));
    }
    public function isCoversFunction() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isCoversFunction()));
    }
    public function isExcludeGlobalVariableFromBackup() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isExcludeGlobalVariableFromBackup()));
    }
    public function isExcludeStaticPropertyFromBackup() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isExcludeStaticPropertyFromBackup()));
    }
    public function isCoversNothing() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isCoversNothing()));
    }
    public function isDataProvider() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isDataProvider()));
    }
    public function isDepends() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isDependsOnClass() || $metadata->isDependsOnMethod()));
    }
    public function isDependsOnClass() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isDependsOnClass()));
    }
    public function isDependsOnMethod() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isDependsOnMethod()));
    }
    public function isDoesNotPerformAssertions() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isDoesNotPerformAssertions()));
    }
    public function isGroup() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isGroup()));
    }
    public function isIgnoreDeprecations() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isIgnoreDeprecations()));
    }
    
    /**
     * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5513
     */
    public function isIgnoreClassForCodeCoverage() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isIgnoreClassForCodeCoverage()));
    }
    
    /**
     * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5513
     */
    public function isIgnoreMethodForCodeCoverage() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isIgnoreMethodForCodeCoverage()));
    }
    
    /**
     * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5513
     */
    public function isIgnoreFunctionForCodeCoverage() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isIgnoreFunctionForCodeCoverage()));
    }
    public function isRunClassInSeparateProcess() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isRunClassInSeparateProcess()));
    }
    public function isRunInSeparateProcess() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isRunInSeparateProcess()));
    }
    public function isRunTestsInSeparateProcesses() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isRunTestsInSeparateProcesses()));
    }
    public function isTest() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isTest()));
    }
    public function isPreCondition() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isPreCondition()));
    }
    public function isPostCondition() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isPostCondition()));
    }
    public function isPreserveGlobalState() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isPreserveGlobalState()));
    }
    public function isRequiresMethod() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isRequiresMethod()));
    }
    public function isRequiresFunction() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isRequiresFunction()));
    }
    public function isRequiresOperatingSystem() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isRequiresOperatingSystem()));
    }
    public function isRequiresOperatingSystemFamily() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isRequiresOperatingSystemFamily()));
    }
    public function isRequiresPhp() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isRequiresPhp()));
    }
    public function isRequiresPhpExtension() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isRequiresPhpExtension()));
    }
    public function isRequiresPhpunit() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isRequiresPhpunit()));
    }
    public function isRequiresSetting() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isRequiresSetting()));
    }
    public function isTestDox() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isTestDox()));
    }
    public function isTestWith() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isTestWith()));
    }
    public function isUses() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isUses()));
    }
    public function isUsesClass() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isUsesClass()));
    }
    public function isUsesDefaultClass() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isUsesDefaultClass()));
    }
    public function isUsesFunction() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isUsesFunction()));
    }
    public function isWithoutErrorHandler() : self {
        return new self(...array_filter($this->metadata, static fn(Metadata $metadata): bool => $metadata->isWithoutErrorHandler()));
    }

}

Classes

Title Deprecated Summary
MetadataCollection @template-implements IteratorAggregate<int, Metadata>

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal