private void SetAndTest(PerRequestThreadClass testClass, int value) { testClass.Property1 = value; Assert.True(testClass.IsModified()); Assert.Equal(value, testClass.Property1); }
public void TestConfiguration() { Settings.GlobalSettings.InstanceSeparation = InstanceSeparation.Custom; var testClass = new PerRequestThreadClass(); Assert.Throws<InvalidConfigurationException>(() => testClass.IsModified()); var dictionary = new ConcurrentDictionary<Type, object>(); Settings.GlobalSettings.CustomInstanceSeparationDictionary = () => dictionary; Assert.False(testClass.IsModified()); }
public void TestConfiguration() { Settings.GlobalSettings.InstanceSeparation = InstanceSeparation.Custom; var testClass = new PerRequestThreadClass(); Assert.Throws <InvalidConfigurationException>(() => testClass.IsModified()); var dictionary = new ConcurrentDictionary <Type, object>(); Settings.GlobalSettings.CustomInstanceSeparationDictionary = () => dictionary; Assert.False(testClass.IsModified()); }
public void TestRaces() { Settings.GlobalSettings.InstanceSeparation = InstanceSeparation.Custom; Settings.GlobalSettings.CustomInstanceSeparationDictionary = () => GetDictionary(Thread.CurrentThread.ManagedThreadId); var testClass = new PerRequestThreadClass(); testClass.Save(); var id = testClass.Id(); Parallel.For(0, 10, i => { var test = Modl<PerRequestThreadClass>.Get(id); SetAndTest(test, 100); SetAndTest(test, 200); SetAndTest(test, 300); SetAndTest(test, 400); SetAndTest(test, 500); }); }
public void TestRaces() { Settings.GlobalSettings.InstanceSeparation = InstanceSeparation.Custom; Settings.GlobalSettings.CustomInstanceSeparationDictionary = () => GetDictionary(Thread.CurrentThread.ManagedThreadId); var testClass = new PerRequestThreadClass(); testClass.Save(); var id = testClass.Id(); Parallel.For(0, 10, i => { var test = Modl <PerRequestThreadClass> .Get(id); SetAndTest(test, 100); SetAndTest(test, 200); SetAndTest(test, 300); SetAndTest(test, 400); SetAndTest(test, 500); }); }