getTimestamp(), $instance->getTimestamp()); self::assertNotSame($value, $instance); } else { self::assertEquals($expected, $instance->getTimestamp()); } } else { self::assertNull($instance); } } public static function canCastToStringDataProvider(): array { return [ ['', true], ['test_string', true], [0, true], [1, true], [-1, true], [0.0, true], [-0.001, true], [0.001, true], [true, false], [false, false], [null, false], [[], false], [new stdClass(), false], [fopen(__FILE__, 'rb'), false], [new StringObject('test'), true], ]; } public static function canCastToEnumStringDataProvider(): array { return [ ['', false], ['test_string', true], [0, false], [1, false], [-1, false], [0.0, false], [-0.001, false], [0.001, false], [true, false], [false, false], [null, false], [[], false], [new stdClass(), false], [fopen(__FILE__, 'rb'), false], [new StringObject('test'), true], ]; } public static function canCastToDateTimeDataProvider(): array { return [ ['', false], ['test_string', true], [0, true], [1, true], [-1, false], [0.0, true], [-0.001, false], [0.001, true], [true, false], [false, false], [null, false], [[], false], [new stdClass(), false], [fopen(__FILE__, 'rb'), false], [new StringObject('test'), true], [new DateTime(), true], ]; } /** * @throws Exception */ public static function castToDateTimeDataProvider(): array { $result = []; date_default_timezone_set('UTC'); $time = time(); $result[] = [$time, $time, true]; $result[] = [date(YOOKASSA_DATE, $time), $time, true]; $result[] = [new DateTime(date(YOOKASSA_DATE, $time)), $time, true]; $result[] = ['3234-new-23', $time, false]; $result[] = [[], $time, false]; return $result; } }