Esempio n. 1
0
        public void TestConditionalWeakTableEquality()
        {
            var table   = new ConditionalWeakTable <EqualityBasedOnId, object>();
            var source1 = new EqualityBasedOnId(1);
            var source2 = new EqualityBasedOnId(1);
            var value1  = new object();

            table.Add(source1, value1);
            Assert.AreNotEqual(value1, table.GetOrCreateValue(source2));
        }
Esempio n. 2
0
        public void TestSourceEquality()
        {
            var source1  = new EqualityBasedOnId(1);
            var source2  = new EqualityBasedOnId(2);
            var source3  = new EqualityBasedOnId(1);
            var function = new ReactiveExpression <bool>(() =>
            {
                ReactiveManager.WasRead(source1);
                return(true);
            });
            var counter     = 0;
            var expectation = 1;

            function.Subscribe(getValue => Const(getValue, () => counter++));

            ReactiveManager.WasChanged(source1);
            Assert.AreEqual(++expectation, counter);

            ReactiveManager.WasChanged(source2);
            Assert.AreEqual(expectation, counter);

            ReactiveManager.WasChanged(source3);
            Assert.AreEqual(expectation, counter);
        }
Esempio n. 3
0
 protected bool Equals(EqualityBasedOnId other)
 {
     return(id == other.id);
 }