コード例 #1
0
        public SupervisorTest()
        {
            _receiver = new ReceiverTest();
            _sender   = new SenderTest();

            _supConfig = new SupervisorConfiguration
            {
                MaxWorkers         = 2,
                WaitFreeThreadTime = 1
            };
        }
コード例 #2
0
        public void DisposeTest()
        {
            ObservableCollection <string> coll = new ObservableCollection <string>(new[] { "This", "is", "a", "test" });
            ReceiverTest test     = new ReceiverTest();
            var          observer = new CollectionObserver(coll);

            observer.CollectionChanged += test.OnObserver;

            observer.Dispose();
            coll.Clear();
            Assert.AreEqual(0, test.List.Count);
        }
コード例 #3
0
        public void BadEventTargetTest()
        {
            ObservableCollection <string> coll = new ObservableCollection <string>(new[] { "This", "is", "a", "test" });
            var observer = new CollectionObserver(coll);

            observer.CollectionChanged += (s, e) => { throw new Exception("boom!"); };
            ReceiverTest test = new ReceiverTest();

            observer.CollectionChanged += test.OnObserver;

            coll.Add("Test");
            coll.Clear();
            Assert.AreEqual(2, test.List.Count);
        }
コード例 #4
0
        public void CollectionObserverTest()
        {
            ObservableCollection <string> coll = new ObservableCollection <string>(new [] { "This", "is", "a", "test" });
            ReceiverTest test     = new ReceiverTest();
            var          observer = new CollectionObserver(coll);

            observer.CollectionChanged += test.OnObserver;

            coll.RemoveAt(0);
            coll.Add("of");
            coll.Clear();

            Assert.AreEqual(3, test.List.Count);
            Assert.AreEqual(NotifyCollectionChangedAction.Remove, test.List[0].Action);
            Assert.AreEqual(NotifyCollectionChangedAction.Add, test.List[1].Action);
            Assert.AreEqual(NotifyCollectionChangedAction.Reset, test.List[2].Action);
        }
コード例 #5
0
        public void GCDisposeTest()
        {
            ObservableCollection <string> coll = new ObservableCollection <string>(new[] { "This", "is", "a", "test" });
            WeakReference weakReference        = new WeakReference(coll);
            ReceiverTest  test     = new ReceiverTest();
            var           observer = new CollectionObserver(coll);

            observer.CollectionChanged += test.OnObserver;

            observer.Dispose();
            coll = null;
            Assert.AreEqual(0, test.List.Count);
            test = null;
            GC.Collect(2, GCCollectionMode.Forced);

            Assert.IsFalse(weakReference.IsAlive);
        }