public async Task Interface_contract_changes_can_be_detected()
        {
            var ct = CancellationToken.None;
            var sectionsNavigator = new BlindSectionsNavigator("Section1", "Section2");

            // If the core contract changes, we get compilation errors here.
            ISectionStackNavigator navigator = await sectionsNavigator.SetActiveSection(ct, SectionsNavigatorRequest.GetSetActiveSectionRequest("Section1"));

            // Make sure ISectionStackNavigator inherits from IStackNavigator
            StackNavigation.IStackNavigator stackNavigator = navigator;

            Assert.Equal("Section1", navigator.Name);
        }
Exemplo n.º 2
0
        public async Task Interface_contract_changes_can_be_detected()
        {
            var ct = CancellationToken.None;
            var sectionsNavigator = new BlindSectionsNavigator("Section1", "Section2");

            // If the core contract changes, we get compilation errors here.
            IModalStackNavigator navigator = await sectionsNavigator.OpenModal(ct, SectionsNavigatorRequest.GetOpenModalRequest(StackNavigation.StackNavigatorRequest.GetNavigateRequest(() => new TestVM()), "modalName", 0));

            // Make sure IModalStackNavigator inherits from IStackNavigator
            StackNavigation.IStackNavigator stackNavigator = navigator;

            Assert.Equal("modalName", navigator.Name);
            Assert.Equal(0, navigator.Priority);
        }
        public async Task Extended_interface_contract_changes_can_be_detected()
        {
            var ct        = CancellationToken.None;
            var navigator = new BlindSectionsNavigator("Section1", "Section2");

            // If the extension methods available in the abstraction package change their signatures, we get compilation errors here.

            // Only test extensions specific to ISectionStackNavigator

            ISectionStackNavigator sectionNavigator1 = await navigator.SetActiveSection(ct, "Section1");

            ISectionStackNavigator sectionNavigator2 = await navigator.SetActiveSection(ct, "Section1", () => new TestVM(), true);

            StackNavigation.IStackNavigator stackNavigator = navigator.GetActiveStackNavigator();
            await navigator.OpenModal(ct, () => new TestVM(), 0, "modalName");

            bool canNavigateBackOrCloseModal = navigator.CanNavigateBackOrCloseModal();
            await navigator.NavigateBackOrCloseModal(ct);

            IObservable <EventPattern <SectionsNavigatorEventArgs> > ob1 = navigator.ObserveStateChanged();
            IObservable <SectionsNavigatorState> ob2 = navigator.ObserveCurrentState();
        }