public void TestChangeEvents()
        {
            ActiveCollection <object> test = new ActiveCollection <object>();

            test.ActiveItemChanging += test_ActiveItemChanging;
            test.ActiveItemChanged  += test_ActiveItemChanged;
            object a = new object();

            test.Add(a);
            Assert.True(m_changingEvents == 1);
            Assert.True(m_changedEvents == 1);
            test.Add(a);
            Assert.True(m_changingEvents == 1); // no change!
            Assert.True(m_changedEvents == 1);  // no change!
            object b = new object();

            test.Add(b);
            Assert.True(m_changingEvents == 2);
            Assert.True(m_changedEvents == 2);
            test.Remove(a);
            Assert.True(m_changingEvents == 2); // no change!
            Assert.True(m_changedEvents == 2);  // no change!
            test.Remove(b);
            Assert.True(m_changingEvents == 3);
            Assert.True(m_changedEvents == 3);
            test.ActiveItem = a;
            Assert.True(m_changingEvents == 4);
            Assert.True(m_changedEvents == 4);
            test.Clear();
            Assert.True(m_changingEvents == 5);
            Assert.True(m_changedEvents == 5);
            test.Clear();
            Assert.True(m_changingEvents == 5); // no change!
            Assert.True(m_changedEvents == 5);  // no change!
            test.Add(b);
            Assert.True(m_changingEvents == 6);
            Assert.True(m_changedEvents == 6);
            test.Set(new[] { a, b });           //'b' becomes ActiveItem, so no change
            Assert.True(m_changingEvents == 6); // no change!
            Assert.True(m_changedEvents == 6);  // no change!
            test.Set(new[] { b, a });           //'a' becomes ActiveItem, so we have a change
            Assert.True(m_changingEvents == 7);
            Assert.True(m_changedEvents == 7);
            test.Set(new object[] { });
            Assert.True(m_changingEvents == 8);
            Assert.True(m_changedEvents == 8);
        }
Ejemplo n.º 2
0
 public void TestChangeEvents()
 {
     ActiveCollection<object> test = new ActiveCollection<object>();
     test.ActiveItemChanging += test_ActiveItemChanging;
     test.ActiveItemChanged += test_ActiveItemChanged;
     object a = new object();
     test.Add(a);
     Assert.True(m_changingEvents == 1);
     Assert.True(m_changedEvents == 1);
     test.Add(a);
     Assert.True(m_changingEvents == 1); // no change!
     Assert.True(m_changedEvents == 1); // no change!
     object b = new object();
     test.Add(b);
     Assert.True(m_changingEvents == 2);
     Assert.True(m_changedEvents == 2);
     test.Remove(a);
     Assert.True(m_changingEvents == 2); // no change!
     Assert.True(m_changedEvents == 2); // no change!
     test.Remove(b);
     Assert.True(m_changingEvents == 3);
     Assert.True(m_changedEvents == 3);
     test.ActiveItem = a;
     Assert.True(m_changingEvents == 4);
     Assert.True(m_changedEvents == 4);
     test.Clear();
     Assert.True(m_changingEvents == 5);
     Assert.True(m_changedEvents == 5);
     test.Clear();
     Assert.True(m_changingEvents == 5); // no change!
     Assert.True(m_changedEvents == 5); // no change!
     test.Add(b);
     Assert.True(m_changingEvents == 6);
     Assert.True(m_changedEvents == 6);
     test.Set(new[] { a, b }); //'b' becomes ActiveItem, so no change
     Assert.True(m_changingEvents == 6); // no change!
     Assert.True(m_changedEvents == 6); // no change!
     test.Set(new[] { b, a }); //'a' becomes ActiveItem, so we have a change
     Assert.True(m_changingEvents == 7);
     Assert.True(m_changedEvents == 7);
     test.Set(new object[] { });
     Assert.True(m_changingEvents == 8);
     Assert.True(m_changedEvents == 8);
 }