public void ReturnEmptyCollection_IfCollectionContainsFish_AndTypeNotMatch()
        {
            // Arrange
            var allFish     = this.GetFish();
            var mockedDbSet = MockDbSet.Mock(allFish.AsQueryable());

            var mockedDbContext = new Mock <IDatabaseContext>();

            mockedDbContext.Setup(c => c.Fish).Returns(mockedDbSet.Object);

            var fishService = new FishService(mockedDbContext.Object);

            // Act
            var fishByType = fishService.GetAllByType(FishType.Saltwater);

            // Assert
            Assert.IsTrue(fishByType.Count() == 0);
        }
        public void ReturnCorrectResult_IfCollectionContainsFish_AndTypeMatch()
        {
            // Arrange
            var allFish     = this.GetFish();
            var mockedDbSet = MockDbSet.Mock(allFish.AsQueryable());

            var mockedDbContext = new Mock <IDatabaseContext>();

            mockedDbContext.Setup(c => c.Fish).Returns(mockedDbSet.Object);

            var fishService = new FishService(mockedDbContext.Object);

            // Act
            var fishByType = fishService.GetAllByType(FishType.FreshAndSaltWather);

            // Assert
            Assert.IsTrue(fishByType.Count() == 2);
            Assert.AreEqual(allFish.First().Name, fishByType.First().Name);
            Assert.AreEqual(allFish.Last().Name, fishByType.Last().Name);
        }