1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
2
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
5
using ICSharpCode.PackageManagement.Design;
6
using ICSharpCode.PackageManagement.Scripting;
9
namespace PackageManagement.Tests.Scripting
12
public class PackageInitializeScriptFileNameTests
14
PackageInitializeScriptFileName scriptFileName;
15
FakeFileSystem fakeFileSystem;
17
void CreateFileSystem()
19
fakeFileSystem = new FakeFileSystem();
22
void CreateFileName(string installPath)
24
scriptFileName = new PackageInitializeScriptFileName(installPath);
27
void CreateFakeFileSystem()
29
fakeFileSystem = new FakeFileSystem();
32
void CreateFileNameWithFakeFileSystem()
34
scriptFileName = new PackageInitializeScriptFileName(fakeFileSystem);
38
public void ToString_InstallDirectoryPassed_ReturnsFullPathToInitScript()
40
CreateFileName(@"d:\projects\MyProject\packages\Test");
42
string actualFileName = scriptFileName.ToString();
43
string expectedFileName = @"d:\projects\MyProject\packages\Test\tools\init.ps1";
45
Assert.AreEqual(expectedFileName, actualFileName);
49
public void PackageInstallDirectory_InstallDirectoryPassed_ReturnsFullPathToInitScript()
51
CreateFileName(@"d:\projects\MyProject\packages\Test");
53
string actualDirectory = scriptFileName.PackageInstallDirectory;
54
string expectedDirectory = @"d:\projects\MyProject\packages\Test";
56
Assert.AreEqual(expectedDirectory, actualDirectory);
60
public void ScriptDirectoryExists_FileSystemHasScriptDirectory_ReturnsTrue()
62
CreateFakeFileSystem();
63
fakeFileSystem.DirectoryExistsReturnValue = true;
64
CreateFileNameWithFakeFileSystem();
66
bool exists = scriptFileName.ScriptDirectoryExists();
68
Assert.IsTrue(exists);
72
public void ScriptDirectoryExists_FileSystemDoesNotHaveScriptDirectory_ReturnsFalse()
74
CreateFakeFileSystem();
75
fakeFileSystem.DirectoryExistsReturnValue = false;
76
CreateFileNameWithFakeFileSystem();
78
bool exists = scriptFileName.ScriptDirectoryExists();
80
Assert.IsFalse(exists);
84
public void ScriptDirectoryExists_FileSystemHasScriptDirectory_ToolsDirectoryCheckedForExistence()
86
CreateFakeFileSystem();
87
fakeFileSystem.DirectoryExistsReturnValue = true;
88
CreateFileNameWithFakeFileSystem();
90
scriptFileName.ScriptDirectoryExists();
92
Assert.AreEqual("tools", fakeFileSystem.PathPassedToDirectoryExists);
96
public void FileExists_FileSystemHasScriptFile_ReturnsTrue()
98
CreateFakeFileSystem();
99
fakeFileSystem.FileExistsReturnValue = true;
100
CreateFileNameWithFakeFileSystem();
102
bool exists = scriptFileName.FileExists();
104
Assert.IsTrue(exists);
108
public void FileExists_FileSystemDoesNotHaveScriptFile_ReturnsFalse()
110
CreateFakeFileSystem();
111
fakeFileSystem.FileExistsReturnValue = false;
112
CreateFileNameWithFakeFileSystem();
114
bool exists = scriptFileName.FileExists();
116
Assert.IsFalse(exists);
120
public void FileExists_FileSystemHasScriptFile_ToolsScriptFileCheckedForExistence()
122
CreateFakeFileSystem();
123
fakeFileSystem.FileExistsReturnValue = true;
124
CreateFileNameWithFakeFileSystem();
126
scriptFileName.FileExists();
128
Assert.AreEqual(@"tools\init.ps1", fakeFileSystem.PathPassedToFileExists);
132
public void GetScriptDirectory_InstallDirectoryPassed_ReturnsInitScriptDirectory()
134
CreateFileName(@"d:\projects\MyProject\packages\Test");
136
string actualDirectory = scriptFileName.GetScriptDirectory();
137
string expectedDirectory = @"d:\projects\MyProject\packages\Test\tools";
139
Assert.AreEqual(expectedDirectory, actualDirectory);