// potentially I could have used Xunit runners, but they are a bit annoying to get through NuGet
        public IReadOnlyCollection <FeatureTestRun> RunAllTests(Assembly assembly)
        {
            var all = assembly.GetTypes()
                      .SelectMany(t => t.GetMethods())
                      .Where(m => m.IsDefined <FeatureAttribute>(false))
                      .ToArray();

            var runs = new List <FeatureTestRun>();

            foreach (var test in all)
            {
                foreach (var adapterType in LibraryProvider.GetAdapterTypes(assembly))
                {
                    this.RunTestWithDependencyHandling(runs, test, adapterType, all);
                }
            }

            return(runs);
        }