public void ClearsAll() { //Arrange string key = "test_key"; object obj = new object(); //Act object actual; ObjectCallContext.TrySetData(key, obj); ObjectCallContext.ClearAll(); ObjectCallContext.TryGetData(key, out actual); //Assert Assert.IsNull(actual); }
public async Task WotksWithTasks() { //Arrange string key = "test_key"; object obj = new object(); //Act object actual = null; ObjectCallContext.TrySetData(key, obj); await Task.Run(() => { ObjectCallContext.TryGetData(key, out actual); }); //Assert Assert.AreEqual(obj, actual); }
public void RemovesFromObjectContext() { //Arrange string key = "test_key"; object obj = new object(); //Act object actual; ObjectCallContext.TrySetData(key, obj); ObjectCallContext.TryRemove(key, out actual); object another; ObjectCallContext.TryGetData(key, out another); //Assert Assert.AreEqual(obj, actual); Assert.IsNull(another); }
public void WorksWithThreadPoolThreads() { //Arrange string key = "test_key"; object obj = new object(); bool done = false; //Act object actual = null; ObjectCallContext.TrySetData(key, obj); ThreadPool.QueueUserWorkItem(state => { ObjectCallContext.TryGetData(key, out actual); done = true; }); //Assert while (!done) { } Assert.AreEqual(obj, actual); }