public void CallGetAllFromService_AndSetFishToViewModel()
        {
            // Arrange
            var mockedCollection = new List <FishModel>()
            {
                new FishModel {
                    Name = "First"
                },
                new FishModel {
                    Name = "Second"
                },
                new FishModel {
                    Name = "Third"
                }
            };

            var mockedFishService = new Mock <IFishService>();

            mockedFishService.Setup(s => s.GetAll()).Returns(mockedCollection).Verifiable();

            var controller = new FishListController(mockedFishService.Object);

            // Act
            var view  = controller.Index() as ViewResult;
            var model = view.ViewData.Model as FishListViewModel;

            // Assert
            CollectionAssert.AreEqual(mockedCollection, model.FishCollection);
            mockedFishService.Verify(s => s.GetAll(), Times.Once);
        }
        public void CallFindByNameFromService_AndSetFishToViewModel()
        {
            // Arrange
            var mockedFish = new FishModel {
                Name = "First"
            };

            var mockedFishService = new Mock <IFishService>();

            mockedFishService.Setup(s => s.GetFishByName(It.IsAny <string>())).Returns(mockedFish).Verifiable();

            var controller = new FishListController(mockedFishService.Object);

            // Act
            var view  = controller.Details(null) as ViewResult;
            var model = view.ViewData.Model as FishListViewModel;

            // Assert
            Assert.AreEqual(mockedFish, model.SelectedFish);
            mockedFishService.Verify(s => s.GetFishByName(It.IsAny <string>()), Times.Once);
        }