def test_increment_decrement(self): val = MC.get(self.counter_name) for _ in range(INCREMENT_STEPS): MC.increment(self.counter_name) self.assertEqual(val + INCREMENT_STEPS, MC.get(self.counter_name)) for _ in range(INCREMENT_STEPS): MC.decrement(self.counter_name) self.assertEqual(val, MC.get(self.counter_name)) # Bulk Increment / Decrement MC.decrement(self.counter_name, INCREMENT_STEPS) self.assertEqual(val - INCREMENT_STEPS, MC.get(self.counter_name)) MC.increment(self.counter_name, 2 * INCREMENT_STEPS) self.assertEqual(val + INCREMENT_STEPS, MC.get(self.counter_name)) # Testing the aliases self.assertEqual(val + INCREMENT_STEPS, MC.value(self.counter_name)) self.assertEqual(val + INCREMENT_STEPS, MC.count(self.counter_name)) # Incrementing / Decrementing by Random amount expected_val = MC.get(self.counter_name) for _ in range(INCREMENT_STEPS): val = random.randint(-RAND_INCREMENT_MAX, RAND_INCREMENT_MAX) MC.increment(self.counter_name, val) expected_val += val val = random.randint(-RAND_INCREMENT_MAX, RAND_INCREMENT_MAX) MC.decrement(self.counter_name, val) expected_val -= val self.assertEqual(expected_val, MC.get(self.counter_name))