public async Task SearchSuccess()
        {
            var productList = s_productTitles.Select(o => new Product { Title = o }).ToList();
            var context = Substitute.For<IPartsUnlimitedContext>();
            var productDbSet = productList.ToDbSet();

            context.Products.Returns(productDbSet);

            var searcher = new StringContainsProductSearch(context);

            var thing = await searcher.Search("thing");

            Assert.Equal(new string[] { "something", "something outside" }, thing.Select(o => o.Title));
        }
        public async Task SearchSuccess()
        {
            var productList = s_productTitles.Select(o => new Product {
                Title = o
            }).ToList();
            var context      = Substitute.For <IPartsUnlimitedContext>();
            var productDbSet = productList.ToDbSet();

            context.Products.Returns(productDbSet);

            var searcher = new StringContainsProductSearch(context);

            var thing = await searcher.Search("thing");

            Assert.Equal(new string[] { "something", "something outside" }, thing.Select(o => o.Title));
        }