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(); }
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>(); }
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"); }
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"); }