public static async Task SetValueFromNotification()
{
int valueToSet = 0;
AsyncLocal<int> local = null;
local = new AsyncLocal<int>(args => { if (args.ThreadContextChanged) local.Value = valueToSet; });
valueToSet = 2;
local.Value = 1;
Assert.Equal(local.Value, 1);
await Run(async () =>
{
local.Value = 3;
valueToSet = 4;
});
Assert.Equal(local.Value, 4);
}