final protected function assertInterfaceSatisfiesSpecification(callable $specification, string $interfaceName, string $message = ''): void
    {
        $this->assertInterfaceExists($interfaceName);

        self::assertTrue($specification($interfaceName), \sprintf(
            '' !== $message ? $message : 'Failed asserting that interface "%s" satisfies a specification.',
            $interfaceName
        ));
    }
final protected function assertInterfaceSatisfiesSpecification(callable $specification, string $interfaceName, string $message = ''): void
    {
        $this->assertInterfaceExists($interfaceName);

        self::assertTrue($specification($interfaceName), \sprintf(
            '' !== $message ? $message : 'Failed asserting that interface "%s" satisfies a specification.',
            $interfaceName
        ));
    }
final protected function assertInterfaceSatisfiesSpecification ( callable $ specification , string $ interfaceName , string $ message = '' ) : void { $ this -> assertInterfaceExists ( $ interfaceName ) ; self :: assertTrue ( $ specification ( $ interfaceName ) , \ sprintf ( '' !== $ message ? $ message : 'Failed asserting that interface "%s" satisfies a specification.' , $ interfaceName ) ) ; }
Asserts that an interface satisfies a specification.

The specification will be invoked with a single argument, the class name, and should return true or false.

@param callable $specification
@param string   $interfaceName
@param string   $message
Asserts that an interface satisfies a specification .