= 7.1. // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctions.is_iterableFound static::assertTrue( \is_iterable( $actual ), $message ); } else { // PHP < 7.1. $result = ( \is_array( $actual ) || $actual instanceof Traversable ); static::assertTrue( $result, $message ); } } /** * Asserts that a variable is not of type array. * * @param mixed $actual The value to test. * @param string $message Optional failure message to display. * * @return void */ final public static function assertIsNotArray( $actual, $message = '' ) { static::assertNotInternalType( 'array', $actual, $message ); } /** * Asserts that a variable is not of type bool. * * @param mixed $actual The value to test. * @param string $message Optional failure message to display. * * @return void */ final public static function assertIsNotBool( $actual, $message = '' ) { static::assertNotInternalType( 'bool', $actual, $message ); } /** * Asserts that a variable is not of type float. * * @param mixed $actual The value to test. * @param string $message Optional failure message to display. * * @return void */ final public static function assertIsNotFloat( $actual, $message = '' ) { static::assertNotInternalType( 'float', $actual, $message ); } /** * Asserts that a variable is not of type int. * * @param mixed $actual The value to test. * @param string $message Optional failure message to display. * * @return void */ final public static function assertIsNotInt( $actual, $message = '' ) { static::assertNotInternalType( 'int', $actual, $message ); } /** * Asserts that a variable is not of type numeric. * * @param mixed $actual The value to test. * @param string $message Optional failure message to display. * * @return void */ final public static function assertIsNotNumeric( $actual, $message = '' ) { static::assertNotInternalType( 'numeric', $actual, $message ); } /** * Asserts that a variable is not of type object. * * @param mixed $actual The value to test. * @param string $message Optional failure message to display. * * @return void */ final public static function assertIsNotObject( $actual, $message = '' ) { static::assertNotInternalType( 'object', $actual, $message ); } /** * Asserts that a variable is not of type resource. * * @param mixed $actual The value to test. * @param string $message Optional failure message to display. * * @return void */ final public static function assertIsNotResource( $actual, $message = '' ) { static::assertNotInternalType( 'resource', $actual, $message ); } /** * Asserts that a variable is not of type string. * * @param mixed $actual The value to test. * @param string $message Optional failure message to display. * * @return void */ final public static function assertIsNotString( $actual, $message = '' ) { static::assertNotInternalType( 'string', $actual, $message ); } /** * Asserts that a variable is not of type scalar. * * @param mixed $actual The value to test. * @param string $message Optional failure message to display. * * @return void */ final public static function assertIsNotScalar( $actual, $message = '' ) { static::assertNotInternalType( 'scalar', $actual, $message ); } /** * Asserts that a variable is not of type callable. * * @param mixed $actual The value to test. * @param string $message Optional failure message to display. * * @return void */ final public static function assertIsNotCallable( $actual, $message = '' ) { static::assertNotInternalType( 'callable', $actual, $message ); } /** * Asserts that a variable is not of type iterable. * * {@internal Support for `iterable` was only added to the `Assert::assertNotInternalType()` method * in PHPUnit 7.1.0, so this polyfill can't use a direct fall-through to that functionality * until the minimum supported PHPUnit version of this library would be PHPUnit 7.1.0.} * * @link https://github.com/sebastianbergmann/phpunit/pull/3035 PR which added support for `is_iterable` * to `Assert::assertNotInternalType()`. * * @param mixed $actual The value to test. * @param string $message Optional failure message to display. * * @return void */ final public static function assertIsNotIterable( $actual, $message = '' ) { if ( \function_exists( 'is_iterable' ) === true ) { // PHP >= 7.1. // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctions.is_iterableFound static::assertFalse( \is_iterable( $actual ), $message ); } else { // PHP < 7.1. $result = ( \is_array( $actual ) || $actual instanceof Traversable ); static::assertFalse( $result, $message ); } } }