public void Display_GivenMultipleMenusAndMoreChosen_DisplayCalledOnSecondMenu() { var fakeMenu1 = CreateMenuThatReturnsMenuItem(true); var mockMenu2 = CreateMenuThatReturnsMenuItem(false); var menu = new LinkedMenu(new[] { fakeMenu1.Object, mockMenu2.Object }); menu.Display(); mockMenu2.Verify(m => m.Display()); }
public void Display_GivenMultipleMenusAndMoreChosenOnAllMenus_DisplayCalledAgainFirstMenu() { var mockMenu1 = CreateMenuThatReturnsMenuItem(true, false); var fakeMenu2 = CreateMenuThatReturnsMenuItem(true); var menu = new LinkedMenu(new[] { mockMenu1.Object, fakeMenu2.Object }); menu.Display(); mockMenu1.Verify(m => m.Display(), Times.Exactly(2)); }
public void Display_GivenASingleMenuThatReturnsANonMoreMenuItem_ReturnsThatMenuItem() { var mockMenuItem = new Mock <IMenuItem>(); var fakeMenu = new Mock <ITextMenu>(); fakeMenu.Setup(m => m.Display()).Returns(mockMenuItem.Object); var menu = new LinkedMenu(new[] { fakeMenu.Object }); var chosen = menu.Display(); Assert.AreSame(mockMenuItem.Object, chosen); }