Пример #1
0
        public void PropertyChangeMap_TwoWay_Changing()
        {
            PropertyChangeMap <Entity> map;
            Entity entity;
            bool   ageChanging;
            bool   ageSecondsChanging;

            entity = new Entity();
            map    = new PropertyChangeMap <Entity>(entity);

            map.TwoWay("Age", "AgeSeconds");

            entity.PropertyChanging += new PropertyChangingEventHandler((s, a) =>
            {
                switch (a.PropertyName)
                {
                case "Age":

                    ageChanging = true;
                    break;

                case "AgeSeconds":

                    ageSecondsChanging = true;
                    break;
                }
            });

            ageChanging        = false;
            ageSecondsChanging = false;

            entity.Age = TimeSpan.FromSeconds(2.0);
            Assert.IsTrue(ageChanging);
            Assert.IsTrue(ageSecondsChanging);
            Assert.AreEqual(TimeSpan.FromSeconds(2.0), entity.Age);
            Assert.AreEqual(2.0, entity.AgeSeconds);

            ageChanging        = false;
            ageSecondsChanging = false;

            entity.AgeSeconds = 3.0;
            Assert.IsTrue(ageChanging);
            Assert.IsTrue(ageSecondsChanging);
            Assert.AreEqual(TimeSpan.FromSeconds(3.0), entity.Age);
            Assert.AreEqual(3.0, entity.AgeSeconds);
        }
Пример #2
0
        public void PropertyChangeMap_OneWay_Changing()
        {
            PropertyChangeMap <Entity> map;
            Entity entity;
            bool   nameChanging;

            entity = new Entity();
            map    = new PropertyChangeMap <Entity>(entity);

            map.OneWay("Name", "FirstName", "LastName");

            entity.PropertyChanging += new PropertyChangingEventHandler((s, a) =>
            {
                if (a.PropertyName == "Name")
                {
                    nameChanging = true;
                }
            });

            nameChanging     = false;
            entity.FirstName = null;
            Assert.IsTrue(nameChanging);
            Assert.AreEqual("", entity.Name);

            nameChanging    = false;
            entity.LastName = null;
            Assert.IsTrue(nameChanging);
            Assert.AreEqual("", entity.Name);

            nameChanging     = false;
            entity.FirstName = "Jeff";
            Assert.IsTrue(nameChanging);
            Assert.AreEqual("Jeff", entity.Name);

            nameChanging    = false;
            entity.LastName = "Lill";
            Assert.IsTrue(nameChanging);
            Assert.AreEqual("Jeff Lill", entity.Name);
        }
Пример #3
0
        public void PropertyChangeMap_Multiple_Changing()
        {
            PropertyChangeMap <Entity> map;
            Entity entity;
            bool   nameChanging;
            bool   ageChanging;
            bool   ageSecondsChanging;

            entity = new Entity();
            map    = new PropertyChangeMap <Entity>(entity);

            map.OneWay("Name", "FirstName", "LastName");
            map.TwoWay("Age", "AgeSeconds");

            entity.PropertyChanging += new PropertyChangingEventHandler((s, a) =>
            {
                switch (a.PropertyName)
                {
                case "Name":

                    nameChanging = true;
                    break;

                case "Age":

                    ageChanging = true;
                    break;

                case "AgeSeconds":

                    ageSecondsChanging = true;
                    break;
                }
            });

            nameChanging     = false;
            entity.FirstName = null;
            Assert.IsTrue(nameChanging);
            Assert.AreEqual("", entity.Name);

            nameChanging    = false;
            entity.LastName = null;
            Assert.IsTrue(nameChanging);
            Assert.AreEqual("", entity.Name);

            nameChanging     = false;
            entity.FirstName = "Jeff";
            Assert.IsTrue(nameChanging);
            Assert.AreEqual("Jeff", entity.Name);

            nameChanging    = false;
            entity.LastName = "Lill";
            Assert.IsTrue(nameChanging);
            Assert.AreEqual("Jeff Lill", entity.Name);

            ageChanging        = false;
            ageSecondsChanging = false;

            entity.Age = TimeSpan.FromSeconds(2.0);
            Assert.IsTrue(ageChanging);
            Assert.IsTrue(ageSecondsChanging);
            Assert.AreEqual(TimeSpan.FromSeconds(2.0), entity.Age);
            Assert.AreEqual(2.0, entity.AgeSeconds);

            ageChanging        = false;
            ageSecondsChanging = false;

            entity.AgeSeconds = 3.0;
            Assert.IsTrue(ageChanging);
            Assert.IsTrue(ageSecondsChanging);
            Assert.AreEqual(TimeSpan.FromSeconds(3.0), entity.Age);
            Assert.AreEqual(3.0, entity.AgeSeconds);
        }