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