public void CombineWith_NoneCancelable() { using (CancellationTokenExtensions.CombinedCancellationToken combined = CancellationToken.None.CombineWith(CancellationToken.None)) { Assert.False(combined.Token.CanBeCanceled); } }
public void CombineWith_Array_Empty_OriginalNonCancelable() { using (CancellationTokenExtensions.CombinedCancellationToken combined = CancellationToken.None.CombineWith()) { Assert.False(combined.Token.CanBeCanceled); } }
public void CombineWith_Array_Empty() { var cts1 = new CancellationTokenSource(); using (CancellationTokenExtensions.CombinedCancellationToken combined = cts1.Token.CombineWith()) { Assert.Equal(cts1.Token, combined.Token); } }
public void CombinedCancellationToken_Equality_BetweenEqualInstances_None() { CancellationTokenExtensions.CombinedCancellationToken combined1 = CancellationToken.None.CombineWith(CancellationToken.None); CancellationTokenExtensions.CombinedCancellationToken combined2 = CancellationToken.None.CombineWith(CancellationToken.None); Assert.Equal(combined1.GetHashCode(), combined2.GetHashCode()); Assert.True(combined1.Equals(combined2)); Assert.True(combined1 == combined2); Assert.False(combined1 != combined2); }
public void CombineWith_Array_OneArrayElementCancelable_Second() { var cts1 = new CancellationTokenSource(); using (CancellationTokenExtensions.CombinedCancellationToken combined = CancellationToken.None.CombineWith(cts1.Token, CancellationToken.None)) { Assert.Equal(cts1.Token, combined.Token); } }
public void CombineWith_BothCancelable_SecondAlreadyCanceled() { var cts1 = new CancellationTokenSource(); var second = new CancellationToken(true); using (CancellationTokenExtensions.CombinedCancellationToken combined = cts1.Token.CombineWith(second)) { Assert.Equal(second, combined.Token); } }
public void CombineWith_BothCancelable_FirstAlreadyCanceled() { var first = new CancellationToken(true); var cts2 = new CancellationTokenSource(); using (CancellationTokenExtensions.CombinedCancellationToken combined = first.CombineWith(cts2.Token)) { Assert.Equal(first, combined.Token); } }
public void CombineWith_SecondCancelable() { var cts = new CancellationTokenSource(); using (CancellationTokenExtensions.CombinedCancellationToken combined = CancellationToken.None.CombineWith(cts.Token)) { Assert.True(combined.Token.CanBeCanceled); Assert.Equal(cts.Token, combined.Token); } }
public void CombineWith_Array_OneArrayElementPreCanceled() { var ct = new CancellationToken(true); using (CancellationTokenExtensions.CombinedCancellationToken combined = CancellationToken.None.CombineWith(CancellationToken.None, ct, CancellationToken.None)) { Assert.Equal(ct, combined.Token); Assert.True(combined.Token.IsCancellationRequested); } }
public void CombineWith_Array_Empty_OriginalAlreadyCanceled() { CancellationToken cancellationToken = new CancellationToken(true); using (CancellationTokenExtensions.CombinedCancellationToken combined = cancellationToken.CombineWith()) { Assert.True(combined.Token.IsCancellationRequested); Assert.Equal(cancellationToken, combined.Token); } }
public void CombinedCancellationToken_Inequality_WithRealToken() { var cts = new CancellationTokenSource(); CancellationTokenExtensions.CombinedCancellationToken combined1 = cts.Token.CombineWith(CancellationToken.None); CancellationTokenExtensions.CombinedCancellationToken combined2 = CancellationToken.None.CombineWith(CancellationToken.None); Assert.NotEqual(combined1.GetHashCode(), combined2.GetHashCode()); Assert.False(combined1.Equals(combined2)); Assert.False(combined1 == combined2); Assert.True(combined1 != combined2); }
public void CombineWith_Array_TwoCancelable() { var cts1 = new CancellationTokenSource(); var cts2 = new CancellationTokenSource(); using (CancellationTokenExtensions.CombinedCancellationToken combined = cts1.Token.CombineWith(cts2.Token, CancellationToken.None)) { Assert.NotEqual(cts1.Token, combined.Token); Assert.NotEqual(cts2.Token, combined.Token); cts2.Cancel(); Assert.True(combined.Token.IsCancellationRequested); } }
public void CombineWith_Array_TwoCancelable_AmidMany(bool cancelFirst) { var cts1 = new CancellationTokenSource(); var cts2 = new CancellationTokenSource(); using (CancellationTokenExtensions.CombinedCancellationToken combined = CancellationToken.None.CombineWith(cts1.Token, CancellationToken.None, cts2.Token, CancellationToken.None)) { Assert.NotEqual(cts1.Token, combined.Token); Assert.NotEqual(cts2.Token, combined.Token); if (cancelFirst) { cts1.Cancel(); } else { cts2.Cancel(); } Assert.True(combined.Token.IsCancellationRequested); } }