aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/bot/utils/test_redis_cache.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/bot/utils/test_redis_cache.py b/tests/bot/utils/test_redis_cache.py
index 6e12002ed..dbbaef018 100644
--- a/tests/bot/utils/test_redis_cache.py
+++ b/tests/bot/utils/test_redis_cache.py
@@ -173,3 +173,37 @@ class RedisCacheTests(unittest.IsolatedAsyncioTestCase):
with self.assertRaises(TypeError):
self.redis._to_typestring(["internet"])
self.redis._from_typestring("o|firedog")
+
+ async def test_increment_decrement(self):
+ """Test .increment and .decrement methods."""
+ await self.redis.set("entropic", 5)
+ await self.redis.set("disentropic", 12.5)
+
+ # Test default increment
+ await self.redis.increment("entropic")
+ self.assertEqual(await self.redis.get("entropic"), 6)
+
+ # Test default decrement
+ await self.redis.decrement("entropic")
+ self.assertEqual(await self.redis.get("entropic"), 5)
+
+ # Test float increment with float
+ await self.redis.increment("disentropic", 2.0)
+ self.assertEqual(await self.redis.get("disentropic"), 14.5)
+
+ # Test float increment with int
+ await self.redis.increment("disentropic", 2)
+ self.assertEqual(await self.redis.get("disentropic"), 16.5)
+
+ # Test negative increments, because why not.
+ await self.redis.increment("entropic", -5)
+ self.assertEqual(await self.redis.get("entropic"), 0)
+
+ # Negative decrements? Sure.
+ await self.redis.decrement("entropic", -5)
+ self.assertEqual(await self.redis.get("entropic"), 5)
+
+ # What about if we use a negative float to decrement an int?
+ # This should convert the type into a float.
+ await self.redis.decrement("entropic", -2.5)
+ self.assertEqual(await self.redis.get("entropic"), 7.5)