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))
  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))