['mykey', false], 'normal key and null value' => ['mykey', null], 'normal key and object value' => ['mykey', new stdClass()], ]; } #[DataProvider('dataProviderCacheKeyValues')] public function testCacheHas(string $cacheKey, mixed $valueToCache): void { self::assertFalse(Cache::has($cacheKey)); Cache::set($cacheKey, $valueToCache); self::assertTrue(Cache::has($cacheKey)); Cache::remove($cacheKey); self::assertFalse(Cache::has($cacheKey)); } #[DataProvider('dataProviderCacheKeyValues')] public function testCachePurge(string $cacheKey, mixed $valueToCache): void { self::assertFalse(Cache::has($cacheKey)); Cache::set($cacheKey, $valueToCache); self::assertTrue(Cache::has($cacheKey)); Cache::purge(); self::assertFalse(Cache::has($cacheKey)); } #[DataProvider('dataProviderCacheKeyValues')] public function testCacheSet(string $cacheKey, mixed $valueToCache): void { self::assertFalse(Cache::has($cacheKey)); Cache::set($cacheKey, $valueToCache); self::assertTrue(Cache::has($cacheKey)); } #[DataProvider('dataProviderCacheKeyValues')] public function testCacheGet(string $cacheKey, mixed $valueToCache): void { self::assertFalse(Cache::has($cacheKey)); Cache::set($cacheKey, $valueToCache); self::assertTrue(Cache::has($cacheKey)); self::assertSame(Cache::get($cacheKey), $valueToCache); } #[DataProvider('dataProviderCacheKeyValues')] public function testCacheGetDefaultValue(string $cacheKey, mixed $valueToCache): void { self::assertFalse(Cache::has($cacheKey)); Cache::set($cacheKey, $valueToCache); self::assertTrue(Cache::has($cacheKey)); self::assertSame(Cache::get($cacheKey, null), $valueToCache); Cache::remove($cacheKey); self::assertFalse(Cache::has($cacheKey)); self::assertNull(Cache::get($cacheKey, null)); $defaultValue = new stdClass(); self::assertSame($defaultValue, Cache::get($cacheKey, $defaultValue)); self::assertFalse(Cache::get($cacheKey, false)); } #[DataProvider('dataProviderCacheKeyValues')] public function testCacheRemove(string $cacheKey, mixed $valueToCache): void { self::assertFalse(Cache::has($cacheKey)); Cache::set($cacheKey, $valueToCache); self::assertTrue(Cache::has($cacheKey)); Cache::remove($cacheKey); self::assertFalse(Cache::has($cacheKey)); } }