public void UpdateCacheIsOnlyCalledOnceWhenPipelineUpdateIsMoreRecent()
        {
            var pipeline = Substitute.For <IPipeline>();

            pipeline.LastUpdate.Returns(DateTime.Now);
            var criteria = new TestSearchCriteria(pipeline);

            criteria.Suggest("validSearchTerm");
            criteria.Suggest("validSearchTerm");
            criteria.Suggest("validSearchTerm");
            var receivedCalls = criteria.UpdateCacheForSuggestionsReceivedCalls.Count;

            Assert.Equal(1, receivedCalls);
        }
        public void InputIsTrimmedOfSpacesForSuggestInternal(string input, string expectedResult)
        {
            var criteria = new TestSearchCriteria(Substitute.For <IPipeline>());

            criteria.Suggest(input);

            Assert.Equal(expectedResult, criteria.SuggestInternalReceivedCalls.First().input);
        }