Esempio n. 1
0
        private void SetAndTest(PerRequestThreadClass testClass, int value)
        {
            testClass.Property1 = value;

            Assert.True(testClass.IsModified());
            Assert.Equal(value, testClass.Property1);
        }
Esempio n. 2
0
        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());
        }
Esempio n. 3
0
        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());
        }
Esempio n. 4
0
        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);
            });
        }
Esempio n. 5
0
        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);
            });
        }
Esempio n. 6
0
        private void SetAndTest(PerRequestThreadClass testClass, int value)
        {
            testClass.Property1 = value;

            Assert.True(testClass.IsModified());
            Assert.Equal(value, testClass.Property1);
        }