-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathStringExtensionsTests.cs
More file actions
92 lines (78 loc) · 3.06 KB
/
Copy pathStringExtensionsTests.cs
File metadata and controls
92 lines (78 loc) · 3.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using System.Linq;
using System.Reflection;
using NUnit.Framework;
using RoseByte.SharpFiles.Extensions;
using RoseByte.SharpFiles.Internal;
namespace RoseByte.SharpFiles.Tests
{
[TestFixture]
public class StringExtensionsTests
{
[Test]
public void ToPathShouldReturnNullForEmptyString()
{
Assert.That(string.Empty.ToPath(), Is.Null);
Assert.That(((string)null).ToPath(), Is.Null);
Assert.That(" ".ToPath(), Is.Null);
}
[Test]
public void ToFolderShouldReturnNullForEmptyString()
{
Assert.That(string.Empty.ToFolder(), Is.Null);
Assert.That(((string)null).ToFolder(), Is.Null);
Assert.That(" ".ToFolder(), Is.Null);
}
[Test]
public void ToFileShouldReturnNullForEmptyString()
{
Assert.That(string.Empty.ToFile(), Is.Null);
Assert.That(((string)null).ToFile(), Is.Null);
Assert.That(" ".ToFile(), Is.Null);
}
[Test]
public void ShouldReturnFolderPath()
{
Assert.That("C:\\Windows".ToPath(), Is.AssignableTo<FsFolder>());
}
[Test]
public void ShouldReturnPathIfPathDoesNotExist()
{
var sut = "C:\\test.txt".ToPath();
Assert.That(sut, Is.TypeOf<Path>());
}
[Test]
public void ShouldReturnFilePath()
{
var filePath = System.IO.Path.GetFullPath(Assembly.GetExecutingAssembly().Location);
Assert.That(filePath.ToPath(), Is.AssignableTo<FsFile>());
}
[Test]
public void ShouldResolveRelativeFolder()
{
var folderName = System.IO.Path.GetFullPath(".").Split('\\').Last();
Assert.That($"..\\.\\{folderName}".ToFolder(), Is.EqualTo(System.IO.Path.GetFullPath(".").ToFolder()));
}
[Test]
public void ShouldResolveRelativeFile()
{
var fileName = System.IO.Path.GetFileName(Assembly.GetCallingAssembly().Location);
var fullName = $"{System.IO.Path.GetFullPath(".")}\\{fileName}";
Assert.That($".\\{fileName}".ToFile(), Is.EqualTo(fullName.ToFile()));
}
[Test]
public void ShouldResolveFilePath()
{
var fileName = System.IO.Path.GetFileName(Assembly.GetCallingAssembly().Location);
var fullName = $"{System.IO.Path.GetFullPath(".")}\\{fileName}";
Assert.That($".\\{fileName}".ToPath(), Is.EqualTo(fullName.ToFile()));
}
[Test]
public void ShouldResolveParentPath()
{
var fileName = System.IO.Path.GetFileName(Assembly.GetCallingAssembly().Location);
var folderName = System.IO.Path.GetFullPath(".").Split('\\').Last();
var fullName = $"{System.IO.Path.GetFullPath(".")}\\{fileName}";
Assert.That($"..\\{folderName}\\{fileName}".ToPath(), Is.EqualTo(fullName.ToFile()));
}
}
}