public void Changed_BubblesfromProperties()
        {
            urakawa.property.xml.XmlProperty xmlProp = mPresentation.PropertyFactory.CreateXmlProperty();
            mRootNode.AddProperty(xmlProp);
            events.DataModelChangedEventArgs propChangedEventArgs = null;
            object propChangedSender = null;
            EventHandler <urakawa.events.DataModelChangedEventArgs> handler =
                new EventHandler <urakawa.events.DataModelChangedEventArgs>(
                    delegate(object sender, events.DataModelChangedEventArgs e)
            {
                propChangedEventArgs = e;
                propChangedSender    = sender;
            });

            xmlProp.Changed += handler;
            try
            {
                int beforeCount = mChangedEventCount;
                xmlProp.SetQName("dtbook", "");
                Assert.IsNotNull(propChangedEventArgs, "The changed event of the property does not seem to have occured");
                Assert.AreSame(
                    xmlProp, propChangedSender,
                    "The sender of the changed event on the property must be the property itself");
                Assert.AreEqual(
                    beforeCount + 1, mChangedEventCount,
                    "The mChangedEventCount did not increase by one, indicating that the changed event on the owning TreeNode "
                    + "did not occur as a result of the changed event on the owned Property");
                Assert.AreSame(
                    propChangedEventArgs, mLatestChangedEventArgs,
                    "The event args of the owning TreeNode changed event was not the same instance as thoose of the owned Property changed evnet");
                Assert.AreSame(
                    mRootNode, mLatestChangedSender,
                    "The sender of the owning TreeNode changed event must be the owning TreeNode node itself");
            }
            finally
            {
                xmlProp.Changed -= handler;
            }
        }
        public void Changed_BubblesFromChildren()
        {
            TreeNode child = mRootNode.Children.Get(0);

            events.DataModelChangedEventArgs childChangedEventArgs = null;
            object childChangedSender = null;
            EventHandler <urakawa.events.DataModelChangedEventArgs> handler =
                new EventHandler <urakawa.events.DataModelChangedEventArgs>(
                    delegate(object sender, events.DataModelChangedEventArgs e)
            {
                childChangedEventArgs = e;
                childChangedSender    = sender;
            });

            child.Changed += handler;
            try
            {
                int beforeCount = mChangedEventCount;
                child.AppendChild(mPresentation.TreeNodeFactory.Create());
                Assert.IsNotNull(childChangedEventArgs, "The changed event of the child does not seem to have occured");
                Assert.AreSame(
                    child, childChangedSender,
                    "The sender of the changed event on the child must be the child it self");
                Assert.AreEqual(
                    beforeCount + 1, mChangedEventCount,
                    "The mChangedEventCount did not increase by one, indicating that the changed event on the parent/mRootNode TreeNode "
                    + "did not occur as a result of the changed event on the child");
                Assert.AreSame(
                    childChangedEventArgs, mLatestChangedEventArgs,
                    "The event args of the parent/mRootNode changed event was not the same instance as thoose of the child changed evnet");
                Assert.AreSame(
                    mRootNode, mLatestChangedSender,
                    "The sender of the parent/mRootNode changed event must be the parent/mRootNode node itself");
            }
            finally
            {
                child.Changed -= handler;
            }
        }
Exemplo n.º 3
0
 private void ImageMediaData_Changed(object sender, events.DataModelChangedEventArgs e)
 {
     NotifyChanged(e);
 }
 private void mTreeNode_changed(object sender, urakawa.events.DataModelChangedEventArgs e)
 {
     mLatestChangedSender    = sender;
     mLatestChangedEventArgs = e;
     mChangedEventCount++;
 }