private void FindTypesWithAnyDependencies(IEnumerable <TypeDefinition> inputTypes, IEnumerable <string> dependenciesToSearch)
        {
            var search = new DependencySearch();

            // Act
            var result = search.FindTypesThatHaveDependencyOnAny(inputTypes, dependenciesToSearch);

            Assert.Equal(inputTypes.Count(), result.Count());
        }
#pragma warning disable xUnit1026 // Theory methods should use all of their parameters
        public void FindTypesWithAnyDependencies_Found(string[] dependecies, string comment)
#pragma warning restore xUnit1026 // Theory methods should use all of their parameters
        {
            // Arrange
            var search   = new DependencySearch();
            var typeList = Types
                           .InAssembly(Assembly.GetAssembly(typeof(HasDependency)))
                           .That()
                           .ResideInNamespace(typeof(HasDependency).Namespace)
                           .GetTypeDefinitions();

            // Act
            var result = search.FindTypesThatHaveDependencyOnAny(typeList, dependecies);

            // Assert
            Assert.Equal(3, result.Count);                                                // Three types found
            Assert.Equal(typeof(HasAnotherDependency).FullName, result.First().FullName); // Correct types returned...
            Assert.Equal(typeof(HasDependencies).FullName, result.Skip(1).First().FullName);
            Assert.Equal(typeof(HasDependency).FullName, result.Last().FullName);
        }
        public void FindTypesThatHaveDependencyOnAny_Found()
        {
            // Arrange
            var search   = new DependencySearch();
            var typeList = Types
                           .InAssembly(Assembly.GetAssembly(typeof(Class_A)))
                           .That()
                           .ResideInNamespace(typeof(Class_A).Namespace)
                           .And()
                           .HaveNameStartingWith("Class")
                           .GetTypeDefinitions();

            // Act
            var result = search.FindTypesThatHaveDependencyOnAny(typeList, new string[] { typeof(Dependency_1).FullName, typeof(Dependency_2).FullName });

            // Assert
            Assert.Equal(6, result.Count);
            Assert.Equal(typeof(Class_C).FullName, result[0].FullName);
            Assert.Equal(typeof(Class_D).FullName, result[1].FullName);
            Assert.Equal(typeof(Class_E).FullName, result[2].FullName);
            Assert.Equal(typeof(Class_F).FullName, result[3].FullName);
            Assert.Equal(typeof(Class_G).FullName, result[4].FullName);
            Assert.Equal(typeof(Class_H).FullName, result[5].FullName);
        }