def zrange(self, key: str, start: int, stop: int) -> list: if not data_utils.is_integer(start) or not data_utils.is_integer(stop): raise CommandError('value is not an integer or out of range') sorted_list = self._kv_ordered_store.get(key) if not sorted_list: return [] return sorted_list.zrange(int(start), int(stop))
def incr(self, key: str): with self._store_lock: value = self._kv_store.get(key) if not value: self._kv_store[key] = 1 return self.OK if not data_utils.is_integer(value): raise CommandError('value is not an integer or out of range') self._kv_store[key] = int(value) + 1 return self.OK
def test_is_integer_valid_str(): assert data_utils.is_integer('2')
def test_is_integer_valid(): assert data_utils.is_integer(2)
def test_is_integer_invalid_none(): assert not data_utils.is_integer(None)
def test_is_integer_invalid(): assert not data_utils.is_integer('G')
def test_is_integer_negative_valid_str(): assert data_utils.is_integer('-5')
def test_is_integer_negative_valid(): assert data_utils.is_integer(-9)