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)); }
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); }
protected bool Equals(EqualityBasedOnId other) { return(id == other.id); }