Skip to content

Commit e6aa61f

Browse files
Add literal formatting
1 parent f346ed2 commit e6aa61f

File tree

9 files changed

+15
-19
lines changed

9 files changed

+15
-19
lines changed

exercises/practice/acronym/.meta/Generator.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ public class AcronymTests
66
[Fact{{#unless @first}}(Skip = "Remove this Skip property to run this test"){{/unless}}]
77
public void {{test_method_name}}()
88
{
9-
Assert.Equal({{literal expected}}, Acronym.Abbreviate({{literal input.phrase}}));
9+
Assert.Equal({{lit expected}}, Acronym.Abbreviate({{lit input.phrase}}));
1010
}
1111
{{/test_cases}}
1212
}

exercises/practice/hamming/.meta/Generator.tpl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ public class HammingTests
77
public void {{test_method_name}}()
88
{
99
{{#if error}}
10-
Assert.Throws<ArgumentException>(() => Hamming.Distance({{literal input.strand1}}, {{literal input.strand2}}));
10+
Assert.Throws<ArgumentException>(() => Hamming.Distance({{lit input.strand1}}, {{lit input.strand2}}));
1111
{{else}}
12-
Assert.Equal({{expected}}, Hamming.Distance({{literal input.strand1}}, {{literal input.strand2}}));
12+
Assert.Equal({{expected}}, Hamming.Distance({{lit input.strand1}}, {{lit input.strand2}}));
1313
{{/if}}
1414
}
1515
{{/test_cases}}

exercises/practice/isogram/.meta/Generator.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ public class IsogramTests
66
[Fact{{#unless @first}}(Skip = "Remove this Skip property to run this test"){{/unless}}]
77
public void {{test_method_name}}()
88
{
9-
Assert.{{expected}}(Isogram.IsIsogram({{literal input.phrase}}));
9+
Assert.{{expected}}(Isogram.IsIsogram({{lit input.phrase}}));
1010
}
1111
{{/test_cases}}
1212
}

exercises/practice/pangram/.meta/Generator.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ public class PangramTests
66
[Fact{{#unless @first}}(Skip = "Remove this Skip property to run this test"){{/unless}}]
77
public void {{test_method_name}}()
88
{
9-
Assert.{{literal expected}}(Pangram.IsPangram({{literal input.sentence}}));
9+
Assert.{{lit expected}}(Pangram.IsPangram({{lit input.sentence}}));
1010
}
1111
{{/test_cases}}
1212
}

exercises/practice/perfect-numbers/.meta/Generator.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public class PerfectNumbersTests
99
{{#if error}}
1010
Assert.Throws<ArgumentOutOfRangeException>(() => PerfectNumbers.Classify({{input.number}}));
1111
{{else}}
12-
Assert.Equal(Classification.{{Capitalize (raw expected)}}, PerfectNumbers.Classify({{input.number}}));
12+
Assert.Equal(Classification.{{Capitalize expected}}, PerfectNumbers.Classify({{input.number}}));
1313
{{/if}}
1414
}
1515
{{/test_cases}}

exercises/practice/space-age/.meta/Generator.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ public class SpaceAgeTests
77
public void {{test_method_name}}()
88
{
99
var sut = new SpaceAge({{input.seconds}});
10-
Assert.Equal({{literal expected}}, sut.On{{input.planet}}(), precision: 2);
10+
Assert.Equal({{lit expected}}, sut.On{{input.planet}}(), precision: 2);
1111
}
1212
{{/test_cases}}
1313
}

exercises/practice/two-fer/.meta/Generator.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ public class TwoFerTests
66
[Fact{{#unless @first}}(Skip = "Remove this Skip property to run this test"){{/unless}}]
77
public void {{test_method_name}}()
88
{
9-
Assert.Equal({{literal expected}}, TwoFer.Speak({{#if input.name}}{{literal input.name}}{{/if}}));
9+
Assert.Equal({{lit expected}}, TwoFer.Speak({{#if input.name}}{{lit input.name}}{{/if}}));
1010
}
1111
{{/test_cases}}
1212
}

generators.new/Formatting.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
using System.Globalization;
2+
13
using Microsoft.CodeAnalysis;
24
using Microsoft.CodeAnalysis.CSharp;
35
using Microsoft.CodeAnalysis.Formatting;
@@ -14,6 +16,7 @@ internal static string FormatCode(string code) =>
1416

1517
private static SyntaxNode Parse(string code) =>
1618
CSharpSyntaxTree.ParseText(code).GetRoot();
17-
18-
// SymbolDisplay.FormatLiteral(Convert.ToString(first, CultureInfo.InvariantCulture)!, first is string))
19+
20+
internal static string FormatLiteral(object obj) =>
21+
SymbolDisplay.FormatLiteral(Convert.ToString(obj, CultureInfo.InvariantCulture)!, obj is string);
1922
}

generators.new/Templates.cs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
using HandlebarsDotNet;
55
using HandlebarsDotNet.Helpers;
66

7-
using Humanizer;
8-
97
using Microsoft.CodeAnalysis.CSharp;
108

119
using Newtonsoft.Json.Linq;
@@ -20,14 +18,9 @@ static Templates()
2018
{
2119
HandlebarsHelpers.Register(HandlebarsContext, options => { options.UseCategoryPrefix = false; });
2220
HandlebarsContext.Configuration.FormatProvider = CultureInfo.InvariantCulture;
23-
HandlebarsContext.RegisterHelper("raw", (writer, context, parameters) =>
24-
{
25-
writer.WriteSafeString(parameters.First().ToString());
26-
});
27-
HandlebarsContext.RegisterHelper("literal", (writer, context, parameters) =>
21+
HandlebarsContext.RegisterHelper("lit", (writer, context, parameters) =>
2822
{
29-
var first = parameters.First();
30-
writer.WriteSafeString(SymbolDisplay.FormatLiteral(Convert.ToString(first, CultureInfo.InvariantCulture)!, first is string));
23+
writer.WriteSafeString(Formatting.FormatLiteral(parameters.First()));
3124
});
3225
}
3326

0 commit comments

Comments
 (0)