public function rejectShouldMakePromiseImmutable()
{
$adapter = $this->getPromiseTestAdapter();
$mock = $this->createCallableMock();
$mock->expects($this->once())->method('__invoke')->with($this->identicalTo(1));
$adapter->promise()->then(null, function ($value) use($adapter) {
$adapter->reject(3);
return Promise\reject($value);
})->then($this->expectCallableNever(), $mock);
$adapter->reject(1);
$adapter->reject(2);
}