static IEnumerable <BrowserBinary> GetVersionByDirectoryWithPattern(string browserRoot, string searchPattern, string executeablePath)
        {
            var directories = Directory.GetDirectories(browserRoot, searchPattern);

            var results = new List <BrowserBinary>();

            foreach (var directory in directories)
            {
                var startOfVersion = directory.Substring(directory.LastIndexOf("-") + 1);
                var version        = int.Parse(startOfVersion.Substring(0, startOfVersion.IndexOf(".")));

                var browserDiscovered = new BrowserBinary()
                {
                    FullPath     = Path.Combine(directory, executeablePath),
                    MajorVersion = version,
                    NotSupported = directory.ToLower().Contains("unsupported")
                };

                if (!File.Exists(browserDiscovered.FullPath))
                {
                    throw new NotFoundException("Expected to find browser to run at " + browserDiscovered.FullPath);
                }

                results.Add(browserDiscovered);
            }

            return(results.OrderByDescending(b => b.MajorVersion));
        }
        static IEnumerable<BrowserBinary> GetVersionByDirectoryWithPattern(string browserRoot, string searchPattern, string executeablePath)
        {
            var directories = Directory.GetDirectories(browserRoot, searchPattern);

            var results = new List<BrowserBinary>();

            foreach(var directory in directories)
            {
                var startOfVersion = directory.Substring(directory.LastIndexOf("-") + 1);
                var version = int.Parse(startOfVersion.Substring(0, startOfVersion.IndexOf(".")));

                var browserDiscovered = new BrowserBinary()
                {
                    FullPath = Path.Combine(directory, executeablePath),
                    MajorVersion = version,
                    NotSupported = directory.ToLower().Contains("unsupported")
                };

                if (!File.Exists(browserDiscovered.FullPath))
                    throw new NotFoundException("Expected to find browser to run at " + browserDiscovered.FullPath);

                results.Add(browserDiscovered);
            }

            return results.OrderByDescending(b => b.MajorVersion);
        }