Esempio n. 1
0
        void EndListenerCheck(string tid)
        {
            IWriter[] writers = (IWriter[])ctx.GetExtensionObjects("/SimpleApp/ExtraWriters", typeof(IWriter));

            Hashtable newwriters = new Hashtable();

            for (int n = 0; n < writers.Length; n++)
            {
                string nwrit = writers[n].Id;

                // Check added events
                if (oldwriters.Contains(nwrit))
                {
                    Assert.IsFalse(added.Contains(nwrit), tid + ": incorrect Add event for node: " + writers[n].Write());
                    Assert.IsFalse(removed.Contains(nwrit), tid + ": incorrect Remove event for node: " + writers[n].Write());
                }
                else
                {
                    Assert.IsTrue(added.Contains(nwrit), tid + ": Add event not sent for node: " + writers[n].Write());
                }
                newwriters [nwrit] = nwrit;
            }

            // Check remove events
            foreach (string old in oldwriters.Keys)
            {
                if (!newwriters.Contains(old))
                {
                    Assert.IsTrue(removed.Contains(old), tid + ": Remove event not sent for node: " + old);
                }
            }

            ctx.RemoveExtensionNodeHandler("/SimpleApp/ExtraWriters", OnExtensionAddRemove);
        }