Option Strict On
Option Explicit On

Namespace Nexamas.UI.Components

    Partial Public NotInheritable Class MASMasterDetailView

#Region "Friend routing/public adapter boundary"

        Friend Function CreateRoutingPublicAdapterBoundarySnapshot() As MASRouteShellBoundarySnapshot
            Return MASRouteShellBoundaryPolicy.CreateMasterDetailBoundary()
        End Function

        Friend Function HasRoutingPublicAdapterBoundaryForTests() As Boolean
            Dim snapshot As MASRouteShellBoundarySnapshot = CreateRoutingPublicAdapterBoundarySnapshot()
            If Not MASRouteShellBoundaryPolicy.IsSafeClosedBoundary(snapshot,
                                                                    "masterdetail",
                                                                    "MasterDetail.RoutingPublicAdapter",
                                                                    MASRouteShellBoundaryKind.MasterDetailRoutingAdapterBoundary) 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
