public void FindImplementations_ReturnsGenericTypes_ForSingleTypeParameter()
        {
            var implementations = new ImplementationsFinder(_typeCacheMock.Object)
                                  .FindImplemenationsOf(typeof(ISingleGeneric <>));

            var genericTypes = new[] { typeof(SingleOpenGeneric <>), typeof(SingleGeneric) };

            Assert.True(genericTypes.All(x => implementations.Contains(x)));
        }
        public void FindImplementations_ReturnsMultipleConcreteImplementations()
        {
            var implementations = new ImplementationsFinder(_typeCacheMock.Object)
                                  .FindImplemenationsOf(typeof(IMany));

            var targetTypes = new[] { typeof(FirstOfMany), typeof(SecondOfMany) };

            Assert.True(targetTypes.All(x => implementations.Contains(x)));
        }