コード例 #1
0
            public async Task Should_Not_Pop()
            {
                // Given
                ViewStackService sut = new ViewStackServiceFixture().WithView(Substitute.For <IView>());
                await sut.PushPage(new PageViewModelMock());

                // When
                await sut.TopPage();

                // Then
                await sut.View.DidNotReceive().PopPage();
            }
コード例 #2
0
            public async Task Should_Push_Page()
            {
                // Given
                ViewStackService sut = new ViewStackServiceFixture();

                // When
                await sut.PushPage(new PageViewModelMock());

                var result = await sut.TopPage();

                // Then
                result.ShouldNotBeNull();
                result.ShouldBeOfType <PageViewModelMock>();
            }
コード例 #3
0
            public async Task Should_Return_Last_Element()
            {
                // Given
                ViewStackService sut = new ViewStackServiceFixture();
                await sut.PushPage(new PageViewModelMock("1"));

                await sut.PushPage(new PageViewModelMock("2"));

                // When
                var result = await sut.TopPage();

                // Then
                result.ShouldBeOfType <PageViewModelMock>();
                result.Id.ShouldBe("2");
            }
コード例 #4
0
            public async Task Should_Throw_If_Stack_Empty()
            {
                // Given
                ViewStackService sut = new ViewStackServiceFixture();

                // When
                var result = await Should.ThrowAsync <InvalidOperationException>(async() => await sut.TopPage()).ConfigureAwait(false);

                // Then
                result.Message.ShouldBe("Sequence contains no elements");
            }