public function testForCollision() { $iterations = 10000; $this->ids = $this->expectedIds = array(); for ($i = 1; $i <= $iterations; ++$i) { $uid = sprintf('7%010d', $i); $this->ids[] = sprintf('%d%d', $uid, LuhnCheckDigit::createCheckSum($uid)); $this->expectedIds[] = sprintf('L%07s', strtoupper(base_convert($i, 10, 36))); } $this->assertEquals($iterations, count(array_unique($this->expectedIds))); $this->assertEquals($iterations, count(array_unique($this->ids))); $this->assertEquals(count(array_unique($this->ids)), count(array_unique($this->expectedIds))); foreach ($this->ids as $key => $id) { $this->stub->uId = $id; $this->stub->unsetId(); $this->assertEquals($this->expectedIds[$key], $this->stub->getSageId()); $this->assertEquals(substr($id, 1, 10), base_convert(substr($this->stub->getSageId(), 1), 36, 10)); } }
public function testCreateOddNumbers() { $expected = 5; $this->assertEquals($expected, LuhnCheckDigit::createCheckSum(12345)); }