public async Task Conductor_ConductWithTests() { var root = new Conductor <StateScreen> .Collection.AllActive(); var child1 = new StateScreen { DisplayName = "screen1" }; var child2 = new StateScreen(TimeSpan.FromSeconds(3)) { DisplayName = "screen2" }; var child3 = new StateScreen() { DisplayName = "screen3" }; root.Items.Add(child1); root.Items.Add(child2); root.Items.Add(child3); await ScreenExtensions.TryActivateAsync(root).ConfigureAwait(false); await ScreenExtensions.TryDeactivateAsync(root, true).ConfigureAwait(false); Assert.True(child1.IsClosed, "child 1 should be closed"); Assert.True(child2.IsClosed, "child 2 should be closed"); Assert.True(child3.IsClosed, "child 3 should be closed"); }
public async Task Screen_ConductWithTests() { var root = new Screen(); var child1 = new StateScreen { DisplayName = "screen1" }; // simulate a long deactivation process var child2 = new StateScreen(TimeSpan.FromSeconds(3)) { DisplayName = "screen2" }; var child3 = new StateScreen() { DisplayName = "screen3" }; child1.ConductWith(root); child2.ConductWith(root); child3.ConductWith(root); await ScreenExtensions.TryActivateAsync(root).ConfigureAwait(false); await ScreenExtensions.TryDeactivateAsync(root, true).ConfigureAwait(false); Assert.True(child1.IsClosed, "child 1 should be closed"); Assert.True(child2.IsClosed, "child 2 should be closed"); Assert.True(child3.IsClosed, "child 3 should be closed"); }
public void CanCloseIsTrueWhenItemsAreNotClosableAndCloseStrategyCloses() { var conductor = new Conductor<IScreen>.Collection.OneActive { CloseStrategy = new DefaultCloseStrategy<IScreen>(true) }; var conducted = new StateScreen { IsClosable = true }; conductor.Items.Add(conducted); ((IActivate)conductor).Activate(); conductor.CanClose(Assert.True); Assert.True(conducted.IsClosed); }
public void CanCloseIsTrueWhenItemsAreClosable() { var conductor = new Conductor<IScreen>.Collection.OneActive(); var conducted = new StateScreen { IsClosable = true }; conductor.Items.Add(conducted); ((IActivate)conductor).Activate(); conductor.CanClose(Assert.True); Assert.False(conducted.IsClosed); }
public void CanCloseIsTrueWhenItemsAreClosable() { var conductor = new Conductor <IScreen> .Collection.OneActive(); var conducted = new StateScreen { IsClosable = true }; conductor.Items.Add(conducted); ((IActivate)conductor).Activate(); conductor.CanClose(Assert.True); Assert.False(conducted.IsClosed); }
public void CanCloseIsTrueWhenItemsAreNotClosableAndCloseStrategyCloses() { var conductor = new Conductor <IScreen> .Collection.OneActive { CloseStrategy = new DefaultCloseStrategy <IScreen>(true) }; var conducted = new StateScreen { IsClosable = true }; conductor.Items.Add(conducted); ((IActivate)conductor).Activate(); conductor.CanClose(Assert.True); Assert.True(conducted.IsClosed); }
public async Task CanCloseIsTrueWhenItemsAreClosable() { var conductor = new Conductor <IScreen> .Collection.OneActive(); var conducted = new StateScreen { IsClosable = true }; conductor.Items.Add(conducted); await((IActivate)conductor).ActivateAsync(CancellationToken.None); var canClose = await conductor.CanCloseAsync(CancellationToken.None); Assert.True(canClose); Assert.False(conducted.IsClosed); }
public async Task CanCloseIsTrueWhenItemsAreNotClosableAndCloseStrategyCloses() { var conductor = new Conductor <IScreen> .Collection.OneActive { CloseStrategy = new DefaultCloseStrategy <IScreen>(true) }; var conducted = new StateScreen { IsClosable = true }; conductor.Items.Add(conducted); await((IActivate)conductor).ActivateAsync(CancellationToken.None); var canClose = await conductor.CanCloseAsync(CancellationToken.None); Assert.True(canClose); Assert.True(conducted.IsClosed); }