Option Strict On
Option Explicit On

Namespace Nexamas.UI.Components

    Partial Public NotInheritable Class MASSplitView

#Region "Friend shell integration boundary"

        Friend Function CreateShellIntegrationBoundarySnapshot() As MASRouteShellBoundarySnapshot
            Return MASRouteShellBoundaryPolicy.CreateSplitViewBoundary()
        End Function

        Friend Function HasShellIntegrationBoundaryForTests() As Boolean
            Dim snapshot As MASRouteShellBoundarySnapshot = CreateShellIntegrationBoundarySnapshot()
            If Not MASRouteShellBoundaryPolicy.IsSafeClosedBoundary(snapshot,
                                                                    "splitview",
                                                                    "SplitView.ShellIntegration",
                                                                    MASRouteShellBoundaryKind.SplitViewShellIntegrationBoundary) Then Return False
            If snapshot.OwnsRouter OrElse snapshot.OwnsPageHost OrElse snapshot.OwnsNativeShell Then Return False
            If snapshot.ExposesPublicAdapter OrElse snapshot.ObservesExternalRoute Then Return False
            Return snapshot.IsPureVisualBoundary
        End Function

#End Region

    End Class

End Namespace
