public void DisposingChangeTokenRegistrationDoesNotRaiseConsumerCallbackStateOverload() { var provider = new ResettableChangeTokenProvider(); var count = 0; var reg = ChangeToken.OnChange <object>(provider.GetChangeToken, state => { count++; }, null); for (int i = 0; i < 5; i++) { provider.Changed(); } Assert.Equal(5, count); reg.Dispose(); for (int i = 0; i < 5; i++) { provider.Changed(); } Assert.Equal(5, count); }
public void DisposingChangeTokenRegistrationDuringCallbackWorks() { var provider = new ResettableChangeTokenProvider(); var count = 0; IDisposable reg = null; reg = ChangeToken.OnChange <object>(provider.GetChangeToken, state => { count++; reg.Dispose(); }, null); provider.Changed(); Assert.Equal(1, count); provider.Changed(); Assert.Equal(1, count); }