public NuGetLoadDirectiveProviderFixtureResult Load()
        {
            var provider = new NuGetLoadDirectiveProvider(Environment, Installer, Configuration, Log);
            var result   = new NuGetLoadDirectiveProviderFixtureResult();

            // Setup the files that should be installed.
            Installer.Install(Arg.Any <PackageReference>(), PackageType.Tool, Arg.Any <DirectoryPath>())
            .Returns(info =>
            {
                var files = new List <IFile>();
                foreach (var path in InstallResult)
                {
                    var file = Substitute.For <IFile>();
                    file.Path.Returns(path);
                    files.Add(file);
                }
                return(files);
            });

            // Capture install parameters.
            Installer.When(i => i.Install(Arg.Any <PackageReference>(), Arg.Any <PackageType>(), Arg.Any <DirectoryPath>()))
            .Do(info =>
            {
                result.Package     = info.Arg <PackageReference>();
                result.PackageType = info.Arg <PackageType>();
                result.InstallPath = info.Arg <DirectoryPath>();
            });

            // Capture analysis results.
            Context?.When(c => c.Analyze(Arg.Any <FilePath>()))
            .Do(info => result.AnalyzedFiles.Add(info.Arg <FilePath>()));

            // Load the reference.
            provider.Load(Context, Reference);

            // Return the result.
            return(result);
        }
        public bool CanLoad()
        {
            var provider = new NuGetLoadDirectiveProvider(Environment, Installer, Configuration, Log);

            return(provider.CanLoad(Context, Reference));
        }