public ProjectDefinition(string name, IAssemblyLocator locator, ITestAssemblyDefinitionFactory factory, List <ITestAssemblyDefinition> assemblies, string extraArgs)
 {
     Name                      = name ?? throw new ArgumentNullException(nameof(locator));
     AssemblyLocator           = locator ?? throw new ArgumentNullException(nameof(locator));
     TestAssemblies            = assemblies ?? throw new ArgumentNullException(nameof(assemblies));
     AssemblyDefinitionFactory = factory ?? throw new ArgumentNullException(nameof(factory));
     foreach (var a in TestAssemblies)
     {
         a.AssemblyLocator = AssemblyLocator;
     }
     ExtraArgs = extraArgs;
 }
        public ProjectDefinition(string name, IAssemblyLocator locator, ITestAssemblyDefinitionFactory factory, string [] assemblies, string extraArgs)
        {
            if (assemblies.Length == 0)
            {
                throw new ArgumentException("Most provide at least an assembly.");
            }

            Name                      = name ?? throw new ArgumentNullException(nameof(name));
            TestAssemblies            = new List <ITestAssemblyDefinition> (assemblies.Length);
            AssemblyLocator           = locator ?? throw new ArgumentNullException(nameof(locator));
            AssemblyDefinitionFactory = factory ?? throw new ArgumentNullException(nameof(factory));
            ExtraArgs                 = extraArgs;
            foreach (var assembly in assemblies)
            {
                TestAssemblies.Add(factory.Create(assembly, AssemblyLocator));
            }
        }