Exemple #1
0
        public void SetResultWindow()
        {
            UIWindowRegion service = new UIWindowRegion()
            {
                RegionName = "region"
            };

            ModuleManager.DefaultImplementation.GetRegionImplementation("region").RegisterUIRegion(service);
            var serviceHelper = InjectionTestHelper.CreateServiceHelper(service);

            object vm1 = null;
            object vm2 = null;

            Manager.Register("region", new Module("1", () => vm1 = new object()));
            Manager.Register("region", new Module("2", () => vm2 = new object()));

            var t1 = WindowManager.Show("region", "1");
            var t2 = WindowManager.Show("region", "2");

            DispatcherHelper.DoEvents();

            WindowManager.Close("region", "1", MessageBoxResult.OK);
            DispatcherHelper.DoEvents();
            Assert.AreEqual(MessageBoxResult.OK, t1.Result.Result);
            Assert.AreEqual(vm1, t1.Result.ViewModel);

            WindowManager.Close("region", "2", MessageBoxResult.Cancel);
            DispatcherHelper.DoEvents();
            Assert.AreEqual(MessageBoxResult.Cancel, t2.Result.Result);
            Assert.AreEqual(vm2, t2.Result.ViewModel);

            serviceHelper.Dispose();
            Manager.Clear("region");
        }
Exemple #2
0
        public void DeserializeEvents()
        {
            string logicalState = null;
            string visualState  = null;

            Manager.Register("R", new Module("1", () => new VMTest()));
            Manager.Register("R", new Module("2", () => new VMTest()));
            ContentControl c = new ContentControl();

            UIRegion.SetRegion(c, "R");
            Window.Content = c;
            Window.Show();
            var serviceHelper = InjectionTestHelper.CreateServiceHelper(c, "R");

            Manager.Inject("R", "1");
            Manager.Inject("R", "2");
            serviceHelper.AssertSelectionChanged(1);
            Assert.AreEqual("1", Manager.GetRegion("R").SelectedKey);

            Manager.Save(out logicalState, out visualState);
            Manager.Navigate("R", "2");
            Assert.AreEqual("2", Manager.GetRegion("R").SelectedKey);
            serviceHelper.AssertSelectionChanged(2);

            Manager.Restore(logicalState, visualState);
            Assert.AreEqual("1", Manager.GetRegion("R").SelectedKey);
            serviceHelper.AssertSelectionChanged(4);
            serviceHelper.AssertViewModelRemoving(0);
            serviceHelper.AssertViewModelRemoved(2);
        }
Exemple #3
0
        public void ClosingWindow()
        {
            UIWindowRegion service = new UIWindowRegion()
            {
                RegionName = "region"
            };

            ModuleManager.DefaultImplementation.GetRegionImplementation("region").RegisterUIRegion(service);
            var serviceHelper = InjectionTestHelper.CreateServiceHelper(service);

            object vm1 = null;
            object vm2 = null;

            Manager.Register("region", new Module("1", () => vm1 = new object()));
            Manager.Register("region", new Module("2", () => vm2 = new object()));

            Manager.Inject("region", "1");
            Manager.Inject("region", "2");
            Manager.Navigate("region", "1");
            DispatcherHelper.DoEvents();
            var    strategy1 = GetStrategy(service, vm1);
            var    strategy2 = GetStrategy(service, vm2);
            Window w1        = (Window)strategy1.Owner.Target;
            Window w2        = (Window)strategy2.Owner.Target;

            Assert.AreEqual(true, w1.IsActive);
            Assert.AreEqual(vm1, service.SelectedViewModel);

            serviceHelper.CancelViewModelRemoving = true;
            w1.Close();
            DispatcherHelper.DoEvents();
            serviceHelper.AssertViewModelRemoving(1);
            serviceHelper.AssertViewModelRemoved(0);
            Assert.AreEqual(true, w1.IsActive);
            Assert.AreEqual(vm1, service.SelectedViewModel);

            Manager.Remove("region", "1");
            DispatcherHelper.DoEvents();
            serviceHelper.AssertViewModelRemoving(2);
            serviceHelper.AssertViewModelRemoved(0);
            Assert.AreEqual(true, w1.IsActive);
            Assert.AreEqual(vm1, service.SelectedViewModel);

            Manager.Remove("region", "1", false);
            DispatcherHelper.DoEvents();
            serviceHelper.AssertViewModelRemoving(2);
            serviceHelper.AssertViewModelRemoved(1);
            Assert.AreEqual(vm2, service.SelectedViewModel);

            Manager.Remove("region", "2", false);
            DispatcherHelper.DoEvents();
            Assert.AreEqual(null, service.SelectedViewModel);

            serviceHelper.Dispose();
            Manager.Clear("region");
        }
Exemple #4
0
        public void ActiveWindow()
        {
            UIWindowRegion service = new UIWindowRegion()
            {
                RegionName = "region"
            };

            ModuleManager.DefaultImplementation.GetRegionImplementation("region").RegisterUIRegion(service);
            var serviceHelper = InjectionTestHelper.CreateServiceHelper(service);

            object vm1 = null;
            object vm2 = null;

            Manager.Register("region", new Module("1", () => vm1 = new object()));
            Manager.Register("region", new Module("2", () => vm2 = new object()));

            Manager.Inject("region", "1");
            Manager.Inject("region", "2");
            DispatcherHelper.DoEvents();
            var    strategy1 = GetStrategy(service, vm1);
            var    strategy2 = GetStrategy(service, vm2);
            Window w1        = (Window)strategy1.Owner.Target;
            Window w2        = (Window)strategy2.Owner.Target;

            Assert.AreEqual(false, w1.IsActive);
            Assert.AreEqual(true, w2.IsActive);
            Assert.AreEqual(vm2, service.SelectedViewModel);
            serviceHelper.AssertSelectionChanged(2);

            w1.Activate();
            DispatcherHelper.DoEvents();
            Assert.AreEqual(true, w1.IsActive);
            Assert.AreEqual(false, w2.IsActive);
            Assert.AreEqual(vm1, service.SelectedViewModel);
            serviceHelper.AssertSelectionChanged(3);

            ((IUIRegion)service).SelectedViewModel = vm2;
            DispatcherHelper.DoEvents();
            Assert.AreEqual(false, w1.IsActive);
            Assert.AreEqual(true, w2.IsActive);
            Assert.AreEqual(vm2, service.SelectedViewModel);
            serviceHelper.AssertSelectionChanged(4);

            Manager.Clear("region");
            DispatcherHelper.DoEvents();
            Assert.AreEqual(false, w1.IsLoaded);
            Assert.AreEqual(false, w2.IsLoaded);
            serviceHelper.Dispose();
        }
Exemple #5
0
        public void InjectWindows()
        {
            UIWindowRegion service = new UIWindowRegion()
            {
                RegionName = "region"
            };

            ModuleManager.DefaultImplementation.GetRegionImplementation("region").RegisterUIRegion(service);
            var serviceHelper = InjectionTestHelper.CreateServiceHelper(service);

            object vm1 = null;
            object vm2 = null;

            Manager.Register("region", new Module("1", () => vm1 = new object()));
            Manager.Register("region", new Module("2", () => vm2 = new object()));

            Manager.Inject("region", "1");
            DispatcherHelper.DoEvents();
            var    strategy1 = GetStrategy(service, vm1);
            Window w1        = (Window)strategy1.Owner.Target;

            Assert.AreEqual(true, w1 is Window);
            Assert.AreEqual(true, w1.IsActive);

            Manager.Inject("region", "2");
            DispatcherHelper.DoEvents();
            var    strategy2 = GetStrategy(service, vm2);
            Window w2        = (Window)strategy2.Owner.Target;

            Assert.AreEqual(false, w1.IsActive);
            Assert.AreEqual(true, w2.IsActive);

            w1.Close();
            DispatcherHelper.DoEvents();
            Assert.AreEqual(null, Manager.GetRegion("region").GetViewModel("1"));
            serviceHelper.AssertViewModelRemoving(1);
            serviceHelper.AssertViewModelRemoved(1);

            Manager.Remove("region", "2");
            DispatcherHelper.DoEvents();
            Assert.AreEqual(false, w2.IsVisible);
            serviceHelper.AssertViewModelRemoving(2);
            serviceHelper.AssertViewModelRemoved(2);
            serviceHelper.Dispose();
        }
Exemple #6
0
 protected override void TearDownCore()
 {
     InjectionTestHelper.TearDown();
     base.TearDownCore();
 }
Exemple #7
0
 protected override void SetUpCore()
 {
     base.SetUpCore();
     InjectionTestHelper.SetUp(typeof(LogicalSerializationTests).Assembly);
 }
Exemple #8
0
 protected override void SetUpCore()
 {
     base.SetUpCore();
     InjectionTestHelper.SetUp(typeof(StrategyWindowTests).Assembly);
 }
 protected override void SetUpCore()
 {
     base.SetUpCore();
     InjectionTestHelper.SetUp(GetType().Assembly);
 }