#develop (short for SharpDevelop) is a free IDE for .NET programming languages.
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.
 
 
 
 
 
 

163 lines
5.1 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 NUnit.Framework;
using System;
using System.IO;
using ICSharpCode.SharpDevelop.Project;
namespace ICSharpCode.SharpDevelop.Tests.WebReferences
{
[TestFixture]
public class DirectoryNodeFactoryTests
{
DirectoryNode appDesignerFolderNode;
DirectoryNode ordinaryFolderNode;
DirectoryNode webReferencesFolderNode;
DirectoryNode missingWebReferencesFolderNode;
DirectoryNode missingOrdinaryFolderNode;
DirectoryNode webReferenceNode;
string projectDirectory = "c:\\projects\\test";
[TestFixtureSetUp]
public void SetUpFixture()
{
MSBuildBasedProject project = WebReferenceTestHelper.CreateTestProject("C#");
project.FileName = Path.Combine(projectDirectory, "foo.csproj");
project.AppDesignerFolder = "Properties";
WebReferencesProjectItem webReferencesItem = new WebReferencesProjectItem(project);
webReferencesItem.Include = "Web References\\";
ProjectService.AddProjectItem(project, webReferencesItem);
FileProjectItem fileItem = new FileProjectItem(project, ItemType.Folder);
fileItem.Include = "MissingFolder\\";
ProjectService.AddProjectItem(project, fileItem);
ProjectNode projectNode = new ProjectNode(project);
appDesignerFolderNode = DirectoryNodeFactory.CreateDirectoryNode(projectNode, project, Path.Combine(projectDirectory, "Properties"));
ordinaryFolderNode = DirectoryNodeFactory.CreateDirectoryNode(projectNode, project, Path.Combine(project.Directory, "Test"));
webReferencesFolderNode = DirectoryNodeFactory.CreateDirectoryNode(projectNode, project, Path.Combine(project.Directory, webReferencesItem.Include));
webReferenceNode = DirectoryNodeFactory.CreateDirectoryNode(webReferencesFolderNode, project, Path.Combine(Path.Combine(project.Directory, webReferencesItem.Include), "localhost"));
missingWebReferencesFolderNode = DirectoryNodeFactory.CreateDirectoryNode(webReferencesItem, FileNodeStatus.Missing);
missingOrdinaryFolderNode = DirectoryNodeFactory.CreateDirectoryNode(fileItem, FileNodeStatus.Missing);
}
[Test]
public void AppDesignerFolderNodeIsSpecialAppDesignerFolder()
{
Assert.AreEqual(SpecialFolder.AppDesigner, appDesignerFolderNode.SpecialFolder);
}
[Test]
public void AppDesignerFolderNodeDirectory()
{
Assert.AreEqual(Path.Combine(projectDirectory, "Properties"), appDesignerFolderNode.Directory);
}
[Test]
public void OrdinaryFolderNodeIsNotSpecialFolder()
{
Assert.AreEqual(SpecialFolder.None, ordinaryFolderNode.SpecialFolder);
}
[Test]
public void OrdinaryFolderNodeDirectory()
{
Assert.AreEqual(Path.Combine(projectDirectory, "Test"), ordinaryFolderNode.Directory);
}
[Test]
public void OrdinaryFolderNodeType()
{
Assert.IsTrue(ordinaryFolderNode is DirectoryNode);
}
[Test]
public void WebReferencesFolderNodeIsSpecialWebReferencesFolder()
{
Assert.AreEqual(SpecialFolder.WebReferencesFolder, webReferencesFolderNode.SpecialFolder);
}
[Test]
public void WebReferencesFolderNodeType()
{
Assert.IsTrue(webReferencesFolderNode is WebReferencesFolderNode);
}
[Test]
public void WebReferencesFolderNodeDirectory()
{
Assert.AreEqual(Path.Combine(projectDirectory, "Web References"), webReferencesFolderNode.Directory);
}
[Test]
public void WebReferenceNodeIsSpecialWebReferencesFolder()
{
Assert.AreEqual(SpecialFolder.WebReference, webReferenceNode.SpecialFolder);
}
[Test]
public void WebReferenceNodeType()
{
Assert.IsTrue(webReferenceNode is WebReferenceNode);
}
[Test]
public void WebReferenceNodeDirectory()
{
Assert.AreEqual(Path.Combine(projectDirectory, "Web References\\localhost"), webReferenceNode.Directory);
}
[Test]
public void MissingWebReferencesFolderNodeIsMissing()
{
Assert.AreEqual(FileNodeStatus.Missing, missingWebReferencesFolderNode.FileNodeStatus);
}
[Test]
public void MissingWebReferencesFolderNodeIsSpecialWebReferencesFolder()
{
Assert.AreEqual(SpecialFolder.WebReferencesFolder, missingWebReferencesFolderNode.SpecialFolder);
}
[Test]
public void MissingWebReferencesFolderNodeType()
{
Assert.IsTrue(missingWebReferencesFolderNode is WebReferencesFolderNode);
}
[Test]
public void MissingOrdinaryFolderNodeIsMissing()
{
Assert.AreEqual(FileNodeStatus.Missing, missingOrdinaryFolderNode.FileNodeStatus);
}
[Test]
public void MissingOrdinaryFolderNodeIsNotSpecialFolder()
{
Assert.AreEqual(SpecialFolder.None, missingOrdinaryFolderNode.SpecialFolder);
}
[Test]
public void MissingOrdinaryFolderNodeType()
{
Assert.IsTrue(missingOrdinaryFolderNode is DirectoryNode);
}
[Test]
public void MissingOrdinaryFolderName()
{
Assert.AreEqual("c:\\projects\\test\\MissingFolder", missingOrdinaryFolderNode.Directory);
}
[Test]
public void MissingOrdinaryFolderProjectItemExists()
{
Assert.IsNotNull(missingOrdinaryFolderNode.ProjectItem);
}
}
}