Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/SunboX/Prism.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Wpf/Prism.Wpf.Tests/Regions/Behaviors/RegionMemberLifetimeBehaviorFixture.cs')
-rw-r--r--Source/Wpf/Prism.Wpf.Tests/Regions/Behaviors/RegionMemberLifetimeBehaviorFixture.cs26
1 files changed, 26 insertions, 0 deletions
diff --git a/Source/Wpf/Prism.Wpf.Tests/Regions/Behaviors/RegionMemberLifetimeBehaviorFixture.cs b/Source/Wpf/Prism.Wpf.Tests/Regions/Behaviors/RegionMemberLifetimeBehaviorFixture.cs
index d660896..01c16fd 100644
--- a/Source/Wpf/Prism.Wpf.Tests/Regions/Behaviors/RegionMemberLifetimeBehaviorFixture.cs
+++ b/Source/Wpf/Prism.Wpf.Tests/Regions/Behaviors/RegionMemberLifetimeBehaviorFixture.cs
@@ -70,6 +70,32 @@ namespace Prism.Wpf.Tests.Regions.Behaviors
}
[TestMethod]
+ public void WhenIRegionMemberLifetimeItemReturnsKeepAliveFalseCanRemoveFromRegion()
+ {
+ // Arrange
+ var regionItemMock = new Mock<IRegionMemberLifetime>();
+ regionItemMock.Setup(i => i.KeepAlive).Returns(false);
+
+ var view = regionItemMock.Object;
+
+ Region.Add(view);
+ Region.Activate(view);
+
+ // The presence of the following two lines is essential for the test:
+ // we want to access both ActiveView and Views in that order
+ Assert.IsTrue(Region.ActiveViews.Contains(view));
+ Assert.IsTrue(Region.Views.Contains(view));
+
+ // Act
+ // This may throw
+ Region.Remove(view);
+
+ // Assert
+ Assert.IsFalse(Region.Views.Contains(view));
+ Assert.IsFalse(Region.ActiveViews.Contains(view));
+ }
+
+ [TestMethod]
public void WhenRegionContainsMultipleMembers_OnlyRemovesThoseDeactivated()
{
// Arrange