private static void VerifyExecutionContext( ExecutionContext executionContext, AsyncLocal<int> asyncLocal, int expectedValue) { int actualValue = 0; Action run = () => ExecutionContext.Run(executionContext, state => actualValue = asyncLocal.Value, null); if (executionContext == null) { Assert.Throws<InvalidOperationException>(() => run()); } else { run(); } Assert.Equal(expectedValue, actualValue); }