Skip to content

Commit 3e5bf0e

Browse files
committed
Address PR comments II.
1 parent 74cbb00 commit 3e5bf0e

File tree

8 files changed

+13
-41
lines changed

8 files changed

+13
-41
lines changed

src/GitVersion.Core.Tests/Formatting/DateFormatterTests.cs

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ public void TryFormat_NullValue_ReturnsFalse()
1717
formatted.ShouldBeEmpty();
1818
}
1919

20-
[TestCase("2021-01-01", "date:yyyy-MM-dd", "2021-01-01")]
21-
[TestCase("2021-01-01T12:00:00Z", "date:yyyy-MM-ddTHH:mm:ssZ", "2021-01-01T12:00:00Z")]
20+
[TestCase("2021-01-01", "yyyy-MM-dd", "2021-01-01")]
21+
[TestCase("2021-01-01T12:00:00Z", "yyyy-MM-ddTHH:mm:ssZ", "2021-01-01T12:00:00Z")]
2222
public void TryFormat_ValidDateFormats_ReturnsExpectedResult(string input, string format, string expected)
2323
{
2424
var date = DateTime.Parse(input);
@@ -27,13 +27,4 @@ public void TryFormat_ValidDateFormats_ReturnsExpectedResult(string input, strin
2727
result.ShouldBeTrue();
2828
formatted.ShouldBe(expected);
2929
}
30-
31-
[Test]
32-
public void TryFormat_UnsupportedFormat_ReturnsFalse()
33-
{
34-
var sut = new DateFormatter();
35-
var result = sut.TryFormat(DateTime.Now, "unsupported", out var formatted);
36-
result.ShouldBeFalse();
37-
formatted.ShouldBeEmpty();
38-
}
3930
}

src/GitVersion.Core.Tests/Formatting/FormattableFormatterTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ public void TryFormat_NullValue_ReturnsFalse()
1919

2020
[TestCase(123.456, "F2", "123.46")]
2121
[TestCase(1234.456, "F2", "1234.46")]
22+
[TestCase(123.456, "C", "¤123.46")]
23+
[TestCase(123.456, "P", "12345.60%")]
24+
[TestCase(1234567890, "N0", "1,234,567,890")]
2225
public void TryFormat_ValidFormats_ReturnsExpectedResult(object input, string format, string expected)
2326
{
2427
var sut = new FormattableFormatter();
@@ -27,9 +30,6 @@ public void TryFormat_ValidFormats_ReturnsExpectedResult(object input, string fo
2730
formatted.ShouldBe(expected);
2831
}
2932

30-
[TestCase(123.456, "C", "Format 'C' is not supported in FormattableFormatter")]
31-
[TestCase(123.456, "P", "Format 'P' is not supported in FormattableFormatter")]
32-
[TestCase(1234567890, "N0", "Format 'N0' is not supported in FormattableFormatter")]
3333
[TestCase(1234567890, "Z", "Format 'Z' is not supported in FormattableFormatter")]
3434
public void TryFormat_UnsupportedFormat_ReturnsFalse(object input, string format, string expected)
3535
{

src/GitVersion.Core/Formatting/DateFormatter.cs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,18 @@ public bool TryFormat(object? value, string format, out string result)
1010
{
1111
result = string.Empty;
1212

13-
if (value is DateTime dt && format.StartsWith("date:"))
13+
if (value is DateTime dt)
1414
{
15-
var dateFormat = RemoveDatePrefix(format);
16-
result = dt.ToString(dateFormat, CultureInfo.InvariantCulture);
15+
result = dt.ToString(format, CultureInfo.InvariantCulture);
1716
return true;
1817
}
1918

20-
if (value is string dateStr && DateTime.TryParse(dateStr, out var parsedDate) && format.StartsWith("date:"))
19+
if (value is string dateStr && DateTime.TryParse(dateStr, out var parsedDate))
2120
{
22-
var dateFormat = format.Substring(5);
23-
result = parsedDate.ToString(dateFormat, CultureInfo.InvariantCulture);
21+
result = parsedDate.ToString(format, CultureInfo.InvariantCulture);
2422
return true;
2523
}
2624

2725
return false;
2826
}
29-
30-
private static string RemoveDatePrefix(string format) => format.Substring(5);
3127
}

src/GitVersion.Core/Helpers/ExpressionCompiler.cs renamed to src/GitVersion.Core/Formatting/ExpressionCompiler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using System.Linq.Expressions;
22

3-
namespace GitVersion.Helpers;
3+
namespace GitVersion.Formatting;
44

55
internal class ExpressionCompiler : IExpressionCompiler
66
{

src/GitVersion.Core/Formatting/FormattableFormatter.cs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,6 @@ public bool TryFormat(object? value, string format, out string result)
1313
if (string.IsNullOrWhiteSpace(format))
1414
return false;
1515

16-
if (IsBlockedFormat(format))
17-
{
18-
result = $"Format '{format}' is not supported in {nameof(FormattableFormatter)}";
19-
return false;
20-
}
21-
2216
if (value is IFormattable formattable)
2317
{
2418
try
@@ -35,9 +29,4 @@ public bool TryFormat(object? value, string format, out string result)
3529

3630
return false;
3731
}
38-
39-
private static bool IsBlockedFormat(string format) =>
40-
format.Equals("C", StringComparison.OrdinalIgnoreCase) ||
41-
format.Equals("P", StringComparison.OrdinalIgnoreCase) ||
42-
format.StartsWith("N", StringComparison.OrdinalIgnoreCase);
4332
}

src/GitVersion.Core/Helpers/IExpressionCompiler.cs renamed to src/GitVersion.Core/Formatting/IExpressionCompiler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace GitVersion.Helpers
1+
namespace GitVersion.Formatting
22
{
33
internal interface IExpressionCompiler
44
{

src/GitVersion.Core/Helpers/IMemberResolver.cs renamed to src/GitVersion.Core/Formatting/IMemberResolver.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace GitVersion.Helpers;
1+
namespace GitVersion.Formatting;
22

33
internal interface IMemberResolver
44
{

src/GitVersion.Core/Helpers/MemberResolver.cs renamed to src/GitVersion.Core/Formatting/MemberResolver.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace GitVersion.Helpers;
1+
namespace GitVersion.Formatting;
22

33
internal class MemberResolver : IMemberResolver
44
{
@@ -29,15 +29,11 @@ public MemberInfo[] ResolveMemberPath(Type type, string memberExpression)
2929
public static List<MemberInfo>? FindMemberRecursive(Type type, string memberName, HashSet<Type> visited)
3030
{
3131
if (!visited.Add(type))
32-
{
3332
return null;
34-
}
3533

3634
var member = FindDirectMember(type, memberName);
3735
if (member != null)
38-
{
3936
return [member];
40-
}
4137

4238
foreach (var prop in type.GetProperties())
4339
{

0 commit comments

Comments
 (0)