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"); }
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"); }
public void DefaultValues() { UIWindowRegion service = new UIWindowRegion(); Assert.AreEqual(null, service.RegionName); Assert.AreEqual(true, service.SetWindowOwner); Assert.AreEqual(WindowShowMode.Default, service.WindowShowMode); Assert.AreEqual(WindowStartupLocation.CenterScreen, service.WindowStartupLocation); Assert.AreEqual(false, service.IsMainWindow); }
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(); }
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(); }