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

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

            // Assert
            Assert.Equal(inputTypes.Count(), result.Count());
        }
#pragma warning disable xUnit1026 // Theory methods should use all of their parameters
        public void FindTypesWithAllDependencies_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.FindTypesThatHaveDependencyOnAll(typeList, dependecies);

            // Assert
            Assert.Single(result);                                                   // One type found
            Assert.Equal(typeof(HasDependencies).FullName, result.First().FullName); // Correct type returned
        }
        public void FindTypesThatHaveDependencyOnAll_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.FindTypesThatHaveDependencyOnAll(typeList, new string[] { typeof(Dependency_1).FullName, typeof(Dependency_2).FullName });

            // Assert
            Assert.Equal(2, result.Count);
            Assert.Equal(typeof(Class_G).FullName, result[0].FullName);
            Assert.Equal(typeof(Class_H).FullName, result[1].FullName);
        }