public void WillSyncRegionContext()
        {
            RegionContextAwareRegionBehavior target = new RegionContextAwareRegionBehavior();

            target.Region = new Region();
            target.Attach();
            var view = new MockRegionContextAwareView();

            target.Region.Add(view);

            target.Region.Context = "Blurp";
            Assert.AreEqual("Blurp", view.RegionContext.Value);

            view.RegionContext.Value = "Slurp";
            Assert.AreEqual("Slurp", target.Region.Context);
        }
        public void WillDetachEventsAfterRemove()
        {
            RegionContextAwareRegionBehavior target = new RegionContextAwareRegionBehavior();

            target.Region = new Region();
            target.Attach();
            var           view          = new MockRegionContextAwareView();
            WeakReference viewReference = new WeakReference(view);

            target.Region.Add(view);

            target.Region.Remove(view);

            target.Region.Context = "Blurp";
            Assert.IsNull(view.RegionContext.Value);

            view.RegionContext.Value = "Slurp";
            Assert.AreEqual("Blurp", target.Region.Context);
        }