public void ShouldCreateTest() { SharedStaticContextualStorageStrategy sharedStaticContextualStorageStrategy; const string KEY = "somekey"; bool result; string value; string expected; sharedStaticContextualStorageStrategy = new SharedStaticContextualStorageStrategy(); sharedStaticContextualStorageStrategy.ResetValues(); // has unset result = sharedStaticContextualStorageStrategy.HasValue(KEY); Assert.IsFalse(result); // get unset value = sharedStaticContextualStorageStrategy.GetValue<string>(KEY); Assert.IsNull(value); // remove unset sharedStaticContextualStorageStrategy.RemoveValue(KEY); // set unset expected = Guid.NewGuid().ToString("N"); sharedStaticContextualStorageStrategy.SetValue(KEY, expected); // has isset result = sharedStaticContextualStorageStrategy.HasValue(KEY); Assert.IsTrue(result); // get isset value = sharedStaticContextualStorageStrategy.GetValue<string>(KEY); Assert.IsNotNull(value); Assert.AreEqual(expected, value); // set isset expected = Guid.NewGuid().ToString("N"); sharedStaticContextualStorageStrategy.SetValue(KEY, expected); result = sharedStaticContextualStorageStrategy.HasValue(KEY); Assert.IsTrue(result); value = sharedStaticContextualStorageStrategy.GetValue<string>(KEY); Assert.IsNotNull(value); Assert.AreEqual(expected, value); // remove isset sharedStaticContextualStorageStrategy.RemoveValue(KEY); // verify remove result = sharedStaticContextualStorageStrategy.HasValue(KEY); Assert.IsFalse(result); value = sharedStaticContextualStorageStrategy.GetValue<string>(KEY); Assert.IsNull(value); }
public void ShouldCreateCrossThreadTest() { SharedStaticContextualStorageStrategy sharedStaticContextualStorageStrategy; const string KEY = "somekey"; bool result; string value; string expected; Thread thread; int managedThreadId; managedThreadId = Thread.CurrentThread.ManagedThreadId; sharedStaticContextualStorageStrategy = new SharedStaticContextualStorageStrategy(); sharedStaticContextualStorageStrategy.ResetValues(); // set unset expected = Guid.NewGuid().ToString("N"); sharedStaticContextualStorageStrategy.SetValue(KEY, expected); // has isset result = sharedStaticContextualStorageStrategy.HasValue(KEY); Assert.IsTrue(result); // get isset value = sharedStaticContextualStorageStrategy.GetValue<string>(KEY); Assert.IsNotNull(value); Assert.AreEqual(expected, value); thread = new Thread(() => { int _managedThreadId = Thread.CurrentThread.ManagedThreadId; Assert.AreNotEqual(_managedThreadId, managedThreadId); // has isset(other thread) result = sharedStaticContextualStorageStrategy.HasValue(KEY); Assert.IsTrue(result); }); thread.Start(); thread.Join(); }
public void ShouldFailOnNullSharedStaticCreateTest() { IDictionary<string, object> mockSharedStatic; SharedStaticContextualStorageStrategy sharedStaticContextualStorageStrategy; mockSharedStatic = null; sharedStaticContextualStorageStrategy = new SharedStaticContextualStorageStrategy(mockSharedStatic); }