public void Future_Equals() { void TestEquals <T>(Future <T> future1, Future <T> future2) { var future1Copy = future1; var future2Copy = future2; Assert.True(Equals(future1, (Future <T>)(Future) future1Copy)); Assert.True(future1 == future1Copy); Assert.True(!Equals(future1, future2Copy)); Assert.True(future1 != future2); Assert.True(Equals((Future)future1, future1)); Assert.True(Equals(future1, (Future)future1)); Assert.True(Equals((Future)future1, (Future)future1Copy)); Assert.True(!Equals((Future)future1, future2)); Assert.True(!Equals(future1, (Future)future2)); Assert.True(!Equals((Future)future1, (Future)future2)); } TestEquals(Future.FromValue(1), Future.FromValue(2)); TestEquals(Future.FromValue(1), CreateCompleted(1)); TestEquals(CreateCompleted(1), CreateCompleted(1)); TestEquals(new Promise <int>().Future, new Promise <int>().Future); }
public async Task Await_PrecompletedFuture() { var future = Future.FromValue("test"); Assert.True(future.IsCompleted); Assert.False(future.IsFailed); Assert.True(future.IsSucceeded); Assert.Equal("test", await future); }
public async Task Test() { async Future <int> LocalTest() { await Task.Delay(100); return(await Future.FromValue(5)); } int n = await LocalTest(); Assert.Equal(5, n); }