public void Reason_get_should_return_the_reason_why_a_promise_has_been_rejected_if_state_is_rejected() { ISailor s = A.Sailor(); IPromise promise = s.Promise; Exception exc = new Exception("Exception"); s.Reject(exc); //a rejected promise reason should return the exception passed to the Sailor.Reject method Assert.Equal(exc, s.Promise.Reason); }
public IPromise Run() { ISailor sailor = A.Sailor(); new Thread( delegate() { try { while (true) { //My long execution... Thread.Sleep(1000); sailor.Notify("Something happened"); } } catch (Exception exception) { sailor.Reject(exception); } finally { sailor.Finally(); } } ).Start(); return(sailor.Promise); }