public void Select_WhenApplicableSelectorSuppliedForEnumerable_ShouldSelectCorrectOutput()
        {
            // Arrange
            var selector = new SubItemSelector();
            var items    = RetrieveTestItems();

            // Act
            var results = items
                          .Where(RetrieveSpecificationForActiveSubItem(), x => x.SubItem)
                          .Select(selector);

            // Assert
            results
            .Should()
            .Contain(items.ElementAt(0).SubItem);
        }
        public void Select_WhenApplicableSelectorSuppliedWithAdditionalSelector_ShouldSelectCorrectOutput()
        {
            // Arrange
            var selector = new SubItemSelector();
            var items    = RetrieveTestItems()
                           .AsQueryable();

            // Act
            var results = items
                          .Where(RetrieveSpecificationForActiveSubItem(), selector)
                          .Select(RetrieveSelectorForActive(), selector);

            // Assert
            results
            .Should()
            .ContainInOrder(true);
        }