From 736b6ea0a539cf0220fbdc3ee5d1805a3fd8ef12 Mon Sep 17 00:00:00 2001 From: sunxyw <31698606+sunxyw@users.noreply.github.com> Date: Thu, 5 May 2022 22:32:51 +0800 Subject: [PATCH] add light cache tests (#119) --- tests/ZM/Store/LightCacheTest.php | 84 +++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 tests/ZM/Store/LightCacheTest.php diff --git a/tests/ZM/Store/LightCacheTest.php b/tests/ZM/Store/LightCacheTest.php new file mode 100644 index 00000000..76c4b9dc --- /dev/null +++ b/tests/ZM/Store/LightCacheTest.php @@ -0,0 +1,84 @@ +assertTrue($result); + $this->assertSame('value', LightCache::get('test')); + } + + public function testUnset(): void + { + LightCache::set('test', 'value'); + $this->assertTrue(LightCache::unset('test')); + $this->assertNull(LightCache::get('test')); + $this->assertFalse(LightCache::unset('test')); + } + + public function testGetAll(): void + { + LightCache::set('test', 'value'); + LightCache::set('test2', 'value2'); + + $this->assertSame(['test' => 'value', 'test2' => 'value2'], LightCache::getAll()); + } + + public function testItemCanExpire(): void + { + LightCache::set('test', 'value', 1); + $this->assertSame('value', LightCache::get('test')); + zm_sleep(2); + $this->assertNull(LightCache::get('test')); + } + + public function testGetExpire(): void + { + LightCache::set('test', 'value', 10); + $this->assertSame(10, LightCache::getExpire('test')); + } + + public function testGetExpireTS(): void + { + LightCache::set('test', 'value', 10); + $this->assertSame(time() + 10, LightCache::getExpireTS('test')); + } + + public function testIsset(): void + { + LightCache::set('test', 'value'); + $this->assertTrue(LightCache::isset('test')); + $this->assertFalse(LightCache::isset('test2')); + } + + public function testGetMemoryUsage(): void + { + LightCache::set('test', 'value'); + $this->assertGreaterThan(0, LightCache::getMemoryUsage()); + } + + public function testUpdate(): void + { + LightCache::set('test', 'value'); + $this->assertTrue(LightCache::update('test', 'value2')); + $this->assertSame('value2', LightCache::get('test')); + } +}