Beispiel #1
0
        static (string runtime, Version Version) GetRuntimeAndVersion()
        {
            var description = RuntimeInformation.FrameworkDescription;

            if (description.StartsWith(".NET Framework", StringComparison.OrdinalIgnoreCase))
            {
                var version = Version.Parse(description.Replace(".NET Framework ", ""));
                return("Net", version);
            }

            if (description.StartsWith(".NET Core", StringComparison.OrdinalIgnoreCase))
            {
                return("Core", Environment.Version);
            }

            if (description.StartsWith(".NET", StringComparison.OrdinalIgnoreCase))
            {
                return("DotNet", Environment.Version);
            }

            throw InnerVerifier.exceptionBuilder($"Could not resolve runtime for '{description}'.");
        }
Beispiel #2
0
        internal static string DeriveDirectory(string sourceFile, Assembly assembly)
        {
            if (deriveDirectory == null)
            {
                return(Path.GetDirectoryName(sourceFile) !);
            }

            var projectDirectory = assembly.GetCustomAttributes <AssemblyMetadataAttribute>()
                                   .SingleOrDefault(x => x.Key == "Verify.ProjectDirectory")
                                   ?.Value;

            if (projectDirectory == null)
            {
                throw InnerVerifier.exceptionBuilder("Using `DeriveTestDirectory` requires that the test assembly be initialized at assembly load time. Call `SharedVerifySettings.SetTestAssembly(Assembly.GetExecutingAssembly());`.");
            }
            var directory = deriveDirectory(sourceFile, projectDirectory);

            if (directory == null)
            {
                return(Path.GetDirectoryName(sourceFile) !);
            }
            return(directory);
        }