public void LoadComponentTarget_NonExistingCompTargetsFile_Test()
        {
            // Prepare environment
            string tempPath          = Path.GetTempPath();
            string guid              = System.Guid.NewGuid().ToString();
            string repositoryRootDir = tempPath + Path.DirectorySeparatorChar + guid;

            Directory.CreateDirectory(repositoryRootDir);
            string compName = "existCompWithVersion";
            string compDir  = repositoryRootDir + Path.DirectorySeparatorChar + compName;

            Directory.CreateDirectory(compDir);
            string compVersion = "1.0.0.35";

            Directory.CreateDirectory(compDir + Path.DirectorySeparatorChar + compVersion);

            ISettings <ResolverValidSettings> sett = new Settings <ResolverValidSettings>();

            sett.AddSetting(new KeyValuePair <ResolverValidSettings, string>(ResolverValidSettings.FileShareUrl, repositoryRootDir));
            sett.AddSetting(new KeyValuePair <ResolverValidSettings, string>(ResolverValidSettings.DependencyDefinitionFileNameList, "component.targets"));

            IDependencyResolver rfs = new ResolverFileShare(sett);
            var xdoc = rfs.LoadComponentTarget(new ComponentName(compName), new ComponentVersion(compVersion));

            Assert.IsNull(xdoc);
        }
        public void LoadComponentTarget_ExistingCompTargetsFile_Test()
        {
            // Prepare environment
            string tempPath          = Path.GetTempPath();
            string guid              = System.Guid.NewGuid().ToString();
            string repositoryRootDir = tempPath + Path.DirectorySeparatorChar + guid;

            Directory.CreateDirectory(repositoryRootDir);
            string compName = "comp";
            string compDir  = repositoryRootDir + Path.DirectorySeparatorChar + compName;

            Directory.CreateDirectory(compDir);
            string compVersion = "1.0.0.35";

            Directory.CreateDirectory(compDir + Path.DirectorySeparatorChar + compVersion);
            string       compTargetsFilename = "component.targets";
            StreamWriter sw = new StreamWriter(File.Create(compDir + Path.DirectorySeparatorChar + compVersion + Path.DirectorySeparatorChar + compTargetsFilename));

            sw.WriteLine("<Component>");
            sw.WriteLine("<Dependencies>");
            sw.WriteLine("</Dependencies>");
            sw.WriteLine("</Component>");
            sw.Close();

            ISettings <ResolverValidSettings> sett = new Settings <ResolverValidSettings>();

            sett.AddSetting(new KeyValuePair <ResolverValidSettings, string>(ResolverValidSettings.FileShareUrl, repositoryRootDir));
            sett.AddSetting(new KeyValuePair <ResolverValidSettings, string>(ResolverValidSettings.DependencyDefinitionFileNameList, "component.targets"));

            IDependencyResolver rfs      = new ResolverFileShare(sett);
            XDocument           compXdoc = rfs.LoadComponentTarget(new ComponentName(compName), new ComponentVersion(compVersion));

            Assert.AreEqual(1, compXdoc.Descendants("Component").Count());
            Assert.AreEqual(1, compXdoc.Descendants("Dependencies").Count());

            // Cleanup the temp folder, to test the Cleanup on Build Server
            File.Delete(compDir + Path.DirectorySeparatorChar + compVersion + Path.DirectorySeparatorChar + compTargetsFilename);
            Directory.Delete(Path.Combine(compDir, compVersion));
        }