public async Task Should_Have_One_Item_On_Stack() { // Given ViewStackService sut = new ViewStackServiceFixture(); await sut.PushPage(new PageViewModelMock(), pages : 3); await sut.PopToRootPage(); // When var result = await sut.PageStack.FirstOrDefaultAsync(); // Then result.ShouldHaveSingleItem(); }
public async Task Should_Return_Single_Notification() { // Given int count = 0; ViewStackService sut = new ViewStackServiceFixture(); await sut.PushPage(new PageViewModelMock(), pages : 3); sut.View.PagePopped.Subscribe(_ => { count++; }); // When await sut.PopToRootPage(); // Then count.ShouldBe(1); }
public async Task Should_Throw_If_Stack_Empty() { // Given ViewStackService sut = new ViewStackServiceFixture(); // When var result = await Should.ThrowAsync <InvalidOperationException>(async() => await sut.PopToRootPage()).ConfigureAwait(false); // Then result.Message.ShouldBe("Stack is empty."); }