public void Find_DoesNotReturnNull(PostQueryService sut)
        {
            // When
            var result = sut.Find();

            // Then
            Assert.NotNull(result);
        }
        public void Find_EagerLoadsAssociatedTags(
            [Frozen]Mock<IRepository<Post>> repository,
            PostQueryService sut)
        {
            // When
            sut.Find();

            // Then
            repository.Verify(m => m.Find("Tags"));
        }
        public void Find_WithNoItems_ReturnsEmptySequence(
            [Frozen]Mock<IRepository<Post>> repository,
            PostQueryService sut)
        {
            // Given
            repository
                .Setup(r => r.Find(It.IsAny<string>()))
                .Returns(new Post[0]);

            // When
            var result = sut.Find();

            // Then
            Assert.False(result.Any());
        }
        public void Find_WithSomeItems_ReturnsSameNumberOfResults(
            [Frozen]Mock<IRepository<Post>> repository,
            IEnumerable<Post> items,
            PostQueryService sut)
        {
            // Given
            repository
                .Setup(s => s.Find(It.IsAny<string[]>()))
                .Returns(items);

            // When
            var result = sut.Find();

            // Then
            Assert.Equal(items.Count(), result.Count());
        }
 public void Constructor_SutIsPostQueryService(PostQueryService sut)
 {
     // Then
     Assert.IsAssignableFrom<IQueryService<Post>>(sut);
 }