-
Notifications
You must be signed in to change notification settings - Fork 50
Expand file tree
/
Copy pathStringExtensionsBehavior.cs
More file actions
53 lines (45 loc) · 1.85 KB
/
StringExtensionsBehavior.cs
File metadata and controls
53 lines (45 loc) · 1.85 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
using HedgehogDevelopment.CodeGeneration.Extensions;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Extensions.Test
{
[TestClass]
public class StringExtensionsBehavior
{
[TestMethod]
public void AsClassNameShouldNotContainUnderscores()
{
Assert.AreEqual("UserDefined", "User Defined".AsClassName());
Assert.AreEqual("UserDefined", "User_Defined".AsClassName());
}
[TestMethod]
public void AsInterfaceShouldNotContainUnderscores()
{
Assert.AreEqual("IBasePage", "Base Page".AsInterfaceName());
Assert.AreEqual("IBasePage", "Base_Page".AsInterfaceName());
Assert.AreEqual("IBasePage", "IBasePage".AsInterfaceName());
}
[TestMethod]
public void AsNamespaceShouldStripErroneousPeriods()
{
var segments = new string[5] {".My", "Namespace.", "For", "The...Sample..", "Project."};
string ns = segments.AsNamespace();
Assert.AreEqual("My.Namespace.For.The.Sample.Project", ns);
}
[TestMethod]
public void AsNamespaceShouldReturnPascalCased()
{
var segments = new string[6]
{"MyCompany", "MyProject", "sitecore", "templates", "User Defined", "Page Fragments"};
string ns = segments.AsNamespace();
Assert.AreEqual("MyCompany.MyProject.Sitecore.Templates.UserDefined.PageFragments", ns);
}
[TestMethod]
public void AsNamespaceShouldNotContainUnderscores()
{
var segments = new string[6]
{"MyCompany", "MyProject", "sitecore", "templates", "User Defined", "Page Fragments"};
string ns = segments.AsNamespace("");
Assert.AreEqual("MyCompany.MyProject.Sitecore.Templates.UserDefined.PageFragments", ns);
}
}
}