public void MSBuildRestoreResult_ReplaceWithUserProfileMacro()
        {
            // Arrange
            using (var randomProjectDirectory = TestFileSystemUtility.CreateRandomTestFolder())
            {
                var projectName          = "testproject";
                var globalPackagesFolder = SettingsUtility.GetGlobalPackagesFolder(NullSettings.Instance);

                if (!string.IsNullOrEmpty(globalPackagesFolder))
                {
                    // Only run the test if globalPackagesFolder can be determined
                    // Because, globalPackagesFolder would be null if %USERPROFILE% was null

                    var msBuildRestoreResult = new MSBuildRestoreResult(
                        projectName,
                        randomProjectDirectory,
                        globalPackagesFolder,
                        Enumerable.Empty <string>(),
                        new[] { "blah" });

                    var targetsName = $"{projectName}.nuget.targets";
                    var targetsPath = Path.Combine(randomProjectDirectory, targetsName);

                    // Assert
                    Assert.False(File.Exists(targetsPath));

                    // Act
                    msBuildRestoreResult.Commit(Common.NullLogger.Instance);

                    Assert.True(File.Exists(targetsPath));
                    var xml      = XDocument.Load(targetsPath);
                    var ns       = XNamespace.Get("http://schemas.microsoft.com/developer/msbuild/2003");
                    var elements = xml.Root.Descendants(ns + "NuGetPackageRoot");
                    Assert.Single(elements);

                    var    element  = elements.Single();
                    string expected = null;

                    if (RuntimeEnvironmentHelper.IsWindows)
                    {
                        expected = Path.Combine(@"$(UserProfile)", ".nuget", "packages") + Path.DirectorySeparatorChar;
                    }
                    else
                    {
                        expected = Path.Combine(Environment.GetEnvironmentVariable("HOME"), ".nuget", "packages") + Path.DirectorySeparatorChar;
                    }
                    Assert.Equal(expected, element.Value);
                }
            }
        }
		public static void CreateImports (DotNetProject project, string prop, string target)
		{
			string repositoryRoot = GetPackagesRootDirectory (project);
			prop = Path.Combine (repositoryRoot, prop);
			target = Path.Combine (repositoryRoot, target);

			var restoreResult = new MSBuildRestoreResult (
				project.Name,
				project.BaseDirectory,
				repositoryRoot,
				new [] { prop },
				new [] { target });

			restoreResult.Commit (NullLogger.Instance);
		}
        public static void CreateImports(DotNetProject project, string prop, string target)
        {
            string repositoryRoot = GetPackagesRootDirectory(project);

            prop   = Path.Combine(repositoryRoot, prop);
            target = Path.Combine(repositoryRoot, target);

            var restoreResult = new MSBuildRestoreResult(
                project.Name,
                project.BaseDirectory,
                repositoryRoot,
                new [] { prop },
                new [] { target });

            restoreResult.Commit(NullLogger.Instance);
        }