示例#1
0
        public void Set_Element_IsElement()
        {
            ObservableElement <int> obsInt = new ObservableElement <int>();

            obsInt.Element = 1;
            Assert.AreEqual(1, obsInt.Element);
        }
示例#2
0
        public void Initialize_Void_IsDefault()
        {
            ObservableElement <int> obsInt = new ObservableElement <int>();

            Assert.AreEqual(default(int), obsInt.Element);

            ObservableElement <string> obsString = new ObservableElement <string>();

            Assert.AreEqual(default(string), obsString.Element);
        }
示例#3
0
        public void Add_Obsserver_NotifiesObserver()
        {
            bool isNotified = false;
            ObservableElement <int> obsInt = new ObservableElement <int>(1);

            obsInt.AddObserver(delegate
            {
                isNotified = true;
            });
            obsInt.NotifyObservers();
            Assert.IsTrue(isNotified);
        }
示例#4
0
        public void SetNoNotifyTest()
        {
            ObservableElement <int> obsInt = new ObservableElement <int>();

            bool     isNotified = false;
            Observer ob         = () => isNotified = true;

            obsInt.AddObserver(ob);

            obsInt.SetNoNotify(1);
            Assert.IsFalse(isNotified);
        }
 public CombineWithLatestSubject(IPushObservable <TIn1> observable1, IPushObservable <TIn2> observable2, Func <TIn1, TIn2, TOut> selector, bool bufferTillFirstMatch = false) : base(CancellationTokenSource.CreateLinkedTokenSource(observable1.CancellationToken, observable2.CancellationToken).Token)
 {
     lock (_lockObject)
     {
         _bufferTillFirstMatch = bufferTillFirstMatch;
         _selector             = selector;
         var disp1 = observable1.Subscribe(HandlePushValue1, HandleComplete1, this.PushException);
         this._obsel1 = new ObservableElement <TIn1>(disp1);
         var disp2 = observable2.Subscribe(HandlePushValue2, HandleComplete2, this.PushException);
         this._obsel2 = new ObservableElement <TIn2>(disp2);
     }
 }
示例#6
0
        public void Remove_Observer_IsRemoved()
        {
            bool isNotified = false;

            ObservableElement <int> obsInt = new ObservableElement <int>();
            Observer ob = () => isNotified = true;

            obsInt.AddObserver(ob);
            obsInt.RemoveObserver(ob);

            obsInt.Element = 1;
            Assert.IsFalse(isNotified);
        }
示例#7
0
        public void Remove_AllObservers_AreRemoved()
        {
            bool isNotified1 = false;
            bool isNotified2 = false;

            ObservableElement <int> obsInt = new ObservableElement <int>();
            Observer ob1 = () => isNotified1 = true;
            Observer ob2 = () => isNotified2 = true;

            obsInt.AddObserver(ob1);
            obsInt.AddObserver(ob2);
            obsInt.RemoveAllObservers();

            obsInt.Element = 1;
            Assert.IsFalse(isNotified1);
            Assert.IsFalse(isNotified2);
        }
示例#8
0
        public void Set_Element_NotifiesObservers()
        {
            bool isNotified1 = false;
            bool isNotified2 = false;

            ObservableElement <int> obsInt = new ObservableElement <int>();

            obsInt.AddObserver(delegate
            {
                isNotified1 = true;
            });
            obsInt.AddObserver(delegate
            {
                isNotified2 = true;
            });
            obsInt.Element = 1;
            Assert.IsTrue(isNotified1);
            Assert.IsTrue(isNotified2);
        }
示例#9
0
        public void Initialize_Element_IsElemet()
        {
            ObservableElement <int> obsInt = new ObservableElement <int>(1);

            Assert.AreEqual(1, obsInt.Element);
        }
示例#10
0
        public void DoesNotSet_Element_IsEmpty()
        {
            ObservableElement <VoidClass> obsVoid = new ObservableElement <VoidClass>();

            Assert.IsTrue(obsVoid.IsEmpty());
        }