public function testSymbolsValue()
{
// Never use this hashing strategy!
$hash = function ($value) {
return strrev($value);
};
$check = function ($value, $hashedValue) {
return strrev($value) === $hashedValue;
};
$hasher = new CallbackHasher($hash, $check);
$hashedValue = $hasher->hash('!"#$%^&*()-_,./:;<=>?@[]{}`~|');
$this->assertTrue($hashedValue !== '!"#$%^&*()-_,./:;<=>?@[]{}`~|');
$this->assertTrue($hasher->check('!"#$%^&*()-_,./:;<=>?@[]{}`~|', $hashedValue));
}