public function testDecrement() { $key1 = 'test'; $key2 = 'test2'; Counter::reset($key1); Counter::reset($key2); $this->assertEquals(10, Counter::increment($key1, 10)); $this->assertEquals(10, Counter::increment($key2, 10)); $this->assertEquals(9, Counter::decrement($key1)); $this->assertEquals(8, Counter::decrement($key1)); $this->assertEquals(9, Counter::decrement($key2)); $this->assertEquals(8, Counter::decrement($key2)); $this->assertEquals(6, Counter::decrement($key2, 2)); $this->assertEquals(6, Counter::decrement($key1, 2)); $this->assertEquals(-2, Counter::decrement($key2, 8)); $this->assertEquals(-2, Counter::decrement($key1, 8)); }
public function generateDistributedId() { $prefix = time() - static::$_distributedOptions['start_time']; $suffix = Text::padOrTruncate(Counter::increment($this->_table), '0', 4); $id = $prefix . static::$_distributedOptions['node_id'] . $suffix; return $this->setId($id); }