public static void TestGetNugetPackageInfo()
        {
            // Arrange
            var nugetPackageAssembly = GetAssemblyInfo("NugetPackageAssembly", "2.0.5.0", isExplicitlySpecified: false);
            var inputAssemblies      = new[]
            {
                GetAssemblyInfo("TestUserAssembly", "2.0.5.0", isExplicitlySpecified: true),
                nugetPackageAssembly,
                GetAssemblyInfo("TestUserLibrary", "5.0.0", isExplicitlySpecified: true),
            };
            var targets       = new[] { Windows80, Net11, NetStandard16 };
            var packageFinder = Substitute.For <IPackageFinder>();

            var packageId = "TestNuGetPackage";
            var nugetPackageWin80Version       = "1.3.4"; // supported version of the package
            var nugetPackageNetStandardVersion = "10.0.8";

            var packagesList = new[]
            {
                new NuGetPackageInfo(packageId, new Dictionary <FrameworkName, string>()
                {
                    { Windows80, nugetPackageWin80Version },
                    { NetStandard16, nugetPackageNetStandardVersion },
                })
            };

            packageFinder.TryFindPackages(nugetPackageAssembly.AssemblyIdentity, targets, out var packages)
            .Returns(x =>
            {
                // return this value in `out var packages`
                x[2] = packagesList.ToImmutableList();
                return(true);
            });

            var engine = new AnalysisEngine(Substitute.For <IApiCatalogLookup>(), Substitute.For <IApiRecommendations>(), packageFinder);

            // Act
            var nugetPackageResult = engine.GetNuGetPackagesInfoFromAssembly(inputAssemblies.Select(x => x.AssemblyIdentity), targets).ToArray();

            // Assert
            Assert.Single(nugetPackageResult);

            Assert.Equal(nugetPackageResult[0].SupportedVersions[Windows80], nugetPackageWin80Version);
            Assert.Equal(nugetPackageResult[0].SupportedVersions[NetStandard16], nugetPackageNetStandardVersion);

            // We did not have any packages that supported .NET Standard 2.0
            Assert.True(!nugetPackageResult[0].SupportedVersions.TryGetValue(Net11, out var value) || string.IsNullOrEmpty(value));

            Assert.Equal(nugetPackageResult[0].AssemblyInfo, nugetPackageAssembly.AssemblyIdentity);
        }