TargetFrameworkAssemblies PopulateTargetFrameworkAssemblies(string directory)
    {
        TargetFrameworkAssemblies gac_asm = new TargetFrameworkAssemblies(directory);

        foreach (string file in Directory.GetFiles(directory, "*.dll"))
        {
            AssemblyName aname;
            if (TryGetAssemblyNameFromFile(file, out aname))
            {
                gac_asm.NameToAssemblyNameCache [aname.Name] =
                    new KeyValuePair <AssemblyName, string> (aname, file);
            }
        }

        return(gac_asm);
    }
        public void GetSupportedTargetFrameworkAssemblies()
        {
            IEnumerable <TargetFrameworkAssemblies.TargetFramework> enumSupportedVersions = TargetFrameworkAssemblies.GetSupportedTargetFrameworkAssemblies(s_targetFrameworkAssembliesFake_1_2_3);
            List <TargetFrameworkAssemblies.TargetFramework>        supportedVersions
                = new List <TargetFrameworkAssemblies.TargetFramework>(enumSupportedVersions);

            object[] actualResults = new object[] {
                supportedVersions[0].Version, supportedVersions[0].Description,
                supportedVersions[1].Version, supportedVersions[1].Description,
                supportedVersions[2].Version, supportedVersions[2].Description
            };

            CollectionAssert.AreEqual(
                new object[] {
                1u, "Version 1",
                2u, "Version 2",
                3u, "Version 3"
            },
                actualResults);
        }