Skip to content

Commit 6dfc7d4

Browse files
authored
Merge pull request #3 from messerli-informatik-ag/split-on-numbers
Split on numbers
2 parents 9158f13 + 0d227ab commit 6dfc7d4

13 files changed

+89
-27
lines changed

ChangeLog.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
Messerli.ChangeCase adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5+
6+
## Messerli.ChangeCase 1.1.0
7+
8+
* Support a single dot (`.`) as incoming separator.
9+
* Numbers adjacent to words are parsed as words. (one or multiple digits)
10+

Messerli.ChangeCase.Test/FirstCharacterToLowerCaseTest.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ public class FirstCharacterToLowerCaseTest
1212
[InlineData("this_is_a_long_snake_case_name", "this_is_a_long_snake_case_name")]
1313
[InlineData("HTML", "hTML")]
1414
[InlineData("htmlDocument", "htmlDocument")]
15+
[InlineData("end_2_end", "end_2_end")]
16+
[InlineData("BUSINESS_2_BUSINESS", "bUSINESS_2_BUSINESS")]
17+
[InlineData("End2End", "end2End")]
18+
[InlineData("business2Business", "business2Business")]
1519
public void FirstCharacterOnlyGetsLowerCase(string sourceName, string expected)
1620
{
1721
Assert.Equal(expected, sourceName.FirstCharacterToLowerCase());

Messerli.ChangeCase.Test/FirstCharacterToUpperCaseTest.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ public class FirstCharacterToUpperCaseTest
1212
[InlineData("this_is_a_long_snake_case_name", "This_is_a_long_snake_case_name")]
1313
[InlineData("HTML", "HTML")]
1414
[InlineData("htmlDocument", "HtmlDocument")]
15+
[InlineData("end_2_end", "End_2_end")]
16+
[InlineData("BUSINESS_2_BUSINESS", "BUSINESS_2_BUSINESS")]
17+
[InlineData("End2End", "End2End")]
18+
[InlineData("business2Business", "Business2Business")]
1519
public void FirstCharacterOnlyGetsUpperCase(string sourceName, string expected)
1620
{
1721
Assert.Equal(expected, sourceName.FirstCharacterToUpperCase());

Messerli.ChangeCase.Test/ToCamelCaseTest.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ public class ToCamelCaseTest
2020
[InlineData("rmiSomething", "rmiSomething")]
2121
[InlineData("RmiSomething", "rmiSomething")]
2222
[InlineData("RMISomething", "rmiSomething")]
23+
[InlineData("end_2_end", "end2End")]
24+
[InlineData("BUSINESS_2_BUSINESS", "business2Business")]
25+
[InlineData("End2End", "end2End")]
26+
[InlineData("business2Business", "business2Business")]
27+
[InlineData("e02", "e02")]
2328
public void NamesAnyCasingConvertCorrectlyToCamelCase(string sourceName, string expected)
2429
{
2530
Assert.Equal(expected, sourceName.ToCamelCase());

Messerli.ChangeCase.Test/ToKebabCaseTest.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ public class ToKebabCaseTest
2020
[InlineData("rmiSomething", "rmi-something")]
2121
[InlineData("RmiSomething", "rmi-something")]
2222
[InlineData("RMISomething", "rmi-something")]
23+
[InlineData("end_2_end", "end-2-end")]
24+
[InlineData("BUSINESS_2_BUSINESS", "business-2-business")]
25+
[InlineData("End2End", "end-2-end")]
26+
[InlineData("business2Business", "business-2-business")]
27+
[InlineData("e02", "e-02")]
2328
public void NamesAnyCasingConvertCorrectlyToKebabCase(string sourceName, string expected)
2429
{
2530
Assert.Equal(expected, sourceName.ToKebabCase());

Messerli.ChangeCase.Test/ToPascalCaseTest.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ public class ToPascalCaseTest
2020
[InlineData("rmiSomething", "RmiSomething")]
2121
[InlineData("RmiSomething", "RmiSomething")]
2222
[InlineData("RMISomething", "RmiSomething")]
23+
[InlineData("end_2_end", "End2End")]
24+
[InlineData("BUSINESS_2_BUSINESS", "Business2Business")]
25+
[InlineData("End2End", "End2End")]
26+
[InlineData("business2Business", "Business2Business")]
27+
[InlineData("e02", "E02")]
2328
public void NamesAnyCasingConvertCorrectlyToPascalCase(string sourceName, string expected)
2429
{
2530
Assert.Equal(expected, sourceName.ToPascalCase());

Messerli.ChangeCase.Test/ToSnakeCaseTest.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ public class ToSnakeCaseTest
2020
[InlineData("rmiSomething", "rmi_something")]
2121
[InlineData("RmiSomething", "rmi_something")]
2222
[InlineData("RMISomething", "rmi_something")]
23+
[InlineData("end_2_end", "end_2_end")]
24+
[InlineData("BUSINESS_2_BUSINESS", "business_2_business")]
25+
[InlineData("End2End", "end_2_end")]
26+
[InlineData("business2Business", "business_2_business")]
27+
[InlineData("e02", "e_02")]
2328
public void NamesAnyCasingConvertCorrectlyToSnakeCase(string sourceName, string expected)
2429
{
2530
Assert.Equal(expected, sourceName.ToSnakeCase());

Messerli.ChangeCase.Test/ToUpperSnakeCaseTest.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ public class ToUpperSnakeCaseTest
2020
[InlineData("rmiSomething", "RMI_SOMETHING")]
2121
[InlineData("RmiSomething", "RMI_SOMETHING")]
2222
[InlineData("RMISomething", "RMI_SOMETHING")]
23+
[InlineData("end_2_end", "END_2_END")]
24+
[InlineData("BUSINESS_2_BUSINESS", "BUSINESS_2_BUSINESS")]
25+
[InlineData("End2End", "END_2_END")]
26+
[InlineData("business2Business", "BUSINESS_2_BUSINESS")]
27+
[InlineData("e02", "E_02")]
2328
public void NamesAnyCasingConvertCorrectlyToConstantCase(string sourceName, string expected)
2429
{
2530
Assert.Equal(expected, sourceName.ToUpperSnakeCase());

Messerli.ChangeCase.sln

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{50491EE5-F685-4F7B-ABC3-FAF5D7E46F99}"
77
ProjectSection(SolutionItems) = preProject
88
.gitignore = .gitignore
9+
ChangeLog.md = ChangeLog.md
910
Directory.Build.props = Directory.Build.props
1011
global.json = global.json
1112
Packages.props = Packages.props

Messerli.ChangeCase/Messerli.ChangeCase.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<Product>Messerli.ChangeCase</Product>
77
<Description>Transform a string between different casings.</Description>
88
<PackageTags>Utility Casing</PackageTags>
9-
<Version>1.0.0</Version>
9+
<Version>1.1.0</Version>
1010
<IncludeSymbols>true</IncludeSymbols>
1111
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
1212
</PropertyGroup>

0 commit comments

Comments
 (0)