public void ValueOrDefault_Retuns_Default_When_Not_Ready() { var taskCompletionSource = new TaskCompletionSource <int>(); var taskLazy = new TaskLazy <int>(taskCompletionSource.Task); var actual = taskLazy.ValueOrDefault(52); Assert.AreEqual(52, actual); }
public void ValueOrDefault_Retuns_Value_When_Ready() { var taskCompletionSource = new TaskCompletionSource <int>(); var taskLazy = new TaskLazy <int>(taskCompletionSource.Task); taskCompletionSource.SetResult(42); var actual = taskLazy.ValueOrDefault(); Assert.AreEqual(42, actual); }
public void Value_Does_Not_Become_Available_On_Exception() { var taskCompletionSource = new TaskCompletionSource <int>(); var taskLazy = new TaskLazy <int>(taskCompletionSource.Task); taskCompletionSource.SetException(new Exception()); Assert.IsFalse(taskLazy.IsReady); Assert.Catch <InvalidOperationException>(() => { var temp = taskLazy.Value; }); Assert.AreEqual(42, taskLazy.ValueOrDefault(42)); Assert.AreEqual(0, (int)taskLazy); }
public void Value_Does_Not_Become_Available_On_Exception() { var taskCompletionSource = new TaskCompletionSource<int>(); var taskLazy = new TaskLazy<int>(taskCompletionSource.Task); taskCompletionSource.SetException(new Exception()); Assert.IsFalse(taskLazy.IsReady); Assert.Catch<InvalidOperationException>(() => { var temp = taskLazy.Value; }); Assert.AreEqual(42, taskLazy.ValueOrDefault(42)); Assert.AreEqual(0, (int)taskLazy); }
public void ValueOrDefault_Retuns_Value_When_Ready() { var taskCompletionSource = new TaskCompletionSource<int>(); var taskLazy = new TaskLazy<int>(taskCompletionSource.Task); taskCompletionSource.SetResult(42); var actual = taskLazy.ValueOrDefault(); Assert.AreEqual(42, actual); }
public void ValueOrDefault_Retuns_Default_When_Not_Ready() { var taskCompletionSource = new TaskCompletionSource<int>(); var taskLazy = new TaskLazy<int>(taskCompletionSource.Task); var actual = taskLazy.ValueOrDefault(52); Assert.AreEqual(52, actual); }