/** @test */
 public function shouldInvokeNewlyAddedCallbackWhenAlreadyResolved()
 {
     $d = new Deferred();
     $d->resolver()->resolve(1);
     $mock = $this->createCallableMock();
     $mock->expects($this->once())->method('__invoke')->with($this->identicalTo(1));
     $d->promise()->then($mock, $this->expectCallableNever());
 }
 /** @test */
 public function shouldAllowRejectAfterProgress()
 {
     $d = new Deferred();
     $mock = $this->createCallableMock();
     $mock->expects($this->at(0))->method('__invoke')->with($this->identicalTo(1));
     $mock->expects($this->at(1))->method('__invoke')->with($this->identicalTo(2));
     $d->promise()->then($this->expectCallableNever(), $mock, $mock);
     $d->resolver()->progress(1);
     $d->resolver()->reject(2);
 }