// Copyright (c) .NET Foundation and contributors. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. using System.IO; namespace Microsoft.Extensions.DependencyModel.Tests { static class TestLibraryFactory { public static readonly string DefaultType = "package"; public static readonly string DefaultPackageName = "My.Package"; public static readonly string DefaultVersion = "1.2.3.7"; public static readonly Dependency[] DefaultDependencies = { }; public static readonly bool DefaultServiceable = true; public static readonly string DefaultAssembly = "My.Package.dll"; public static readonly string SecondAssembly = "My.PackageEx.dll"; public static readonly string DefaultAssemblyPath = Path.Combine("ref", DefaultAssembly); public static readonly string SecondAssemblyPath = Path.Combine("ref", SecondAssembly); public static readonly string[] EmptyAssemblies = { }; public static readonly string[] DefaultAssemblies = { DefaultAssemblyPath }; public static readonly string[] TwoAssemblies = { DefaultAssemblyPath, SecondAssemblyPath }; public static readonly string DefaultHashValue = "HASHVALUE"; public static readonly string DefaultHashAlgoritm = "ALG"; public static readonly string DefaultHash = DefaultHashAlgoritm + "-" + DefaultHashValue; public static readonly string ProjectType = "project"; public static readonly string MsBuildProjectType = "msbuildproject"; public static readonly string ReferenceAssemblyType = "referenceassembly"; public static readonly string PackageType = "package"; public static CompilationLibrary Create( string libraryType = null, string packageName = null, string version = null, string hash = null, string[] assemblies = null, Dependency[] dependencies = null, bool? serviceable = null) { return new CompilationLibrary( libraryType ?? DefaultType, packageName ?? DefaultPackageName, version ?? DefaultVersion, hash ?? DefaultHash, assemblies ?? DefaultAssemblies, dependencies ?? DefaultDependencies, serviceable ?? DefaultServiceable ); } } }