You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.6 KiB
83 lines
2.6 KiB
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) |
|
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) |
|
|
|
using System; |
|
using ICSharpCode.PackageManagement.EnvDTE; |
|
using NUnit.Framework; |
|
using PackageManagement.Tests.Helpers; |
|
using SD = ICSharpCode.SharpDevelop.Project; |
|
|
|
namespace PackageManagement.Tests.EnvDTE |
|
{ |
|
[TestFixture] |
|
public class SolutionPropertyTests |
|
{ |
|
Properties properties; |
|
Solution solution; |
|
SD.Solution msbuildSolution; |
|
SolutionHelper solutionHelper; |
|
|
|
void CreateProperties() |
|
{ |
|
solutionHelper = new SolutionHelper(); |
|
solution = solutionHelper.Solution; |
|
msbuildSolution = solutionHelper.MSBuildSolution; |
|
properties = (Properties)solution.Properties; |
|
} |
|
|
|
void AddStartupProject(string name, string fileName) |
|
{ |
|
TestableProject project = solutionHelper.AddProjectToSolutionWithFileName(name, fileName); |
|
solutionHelper.SetStartupProject(project); |
|
} |
|
|
|
[Test] |
|
public void Value_GetPathProperty_ReturnsSolutionFileName() |
|
{ |
|
CreateProperties(); |
|
msbuildSolution.FileName = @"d:\projects\MyProject\MySolution.sln"; |
|
|
|
global::EnvDTE.Property property = properties.Item("Path"); |
|
object path = property.Value; |
|
|
|
Assert.AreEqual(@"d:\projects\MyProject\MySolution.sln", path); |
|
} |
|
|
|
[Test] |
|
public void GetEnumerator_GetPathProperty_ReturnsSolutionFileName() |
|
{ |
|
CreateProperties(); |
|
msbuildSolution.FileName = @"d:\projects\MyProject\MySolution.sln"; |
|
|
|
global::EnvDTE.Property property = PropertiesHelper.FindProperty(properties, "Path"); |
|
object path = property.Value; |
|
|
|
Assert.AreEqual(@"d:\projects\MyProject\MySolution.sln", path); |
|
} |
|
|
|
[Test] |
|
public void GetEnumerator_GetStartupProjectPropertyWhenSolutionHasOneStartableProject_ReturnsStartupProjectName() |
|
{ |
|
CreateProperties(); |
|
msbuildSolution.FileName = @"d:\projects\MyProject\MySolution.sln"; |
|
AddStartupProject("MyProject", @"d:\projects\MyProject\MyProject.csproj"); |
|
|
|
global::EnvDTE.Property property = PropertiesHelper.FindProperty(properties, "StartupProject"); |
|
object projectName = property.Value; |
|
|
|
Assert.AreEqual("MyProject", projectName); |
|
} |
|
|
|
[Test] |
|
public void GetEnumerator_GetStartupProjectPropertyWhenSolutionHasNoProjects_ReturnsPropertyWithEmptyStringAsValue() |
|
{ |
|
CreateProperties(); |
|
msbuildSolution.FileName = @"d:\projects\MyProject\MySolution.sln"; |
|
|
|
global::EnvDTE.Property property = PropertiesHelper.FindProperty(properties, "StartupProject"); |
|
object projectName = property.Value; |
|
|
|
Assert.AreEqual(String.Empty, projectName); |
|
} |
|
} |
|
}
|
|
|