Skip to content

Commit a20077e

Browse files
authored
Charspan write (#1417)
1 parent cd48b64 commit a20077e

File tree

3 files changed

+78
-33
lines changed

3 files changed

+78
-33
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
static class CounterBuilder
2+
{
3+
public static Counter Empty() =>
4+
new(
5+
true,
6+
#if NET6_0_OR_GREATER
7+
[],
8+
[],
9+
#endif
10+
[],
11+
[],
12+
[]);
13+
}

src/Verify.Tests/Naming/NameForParameterTests.cs

Lines changed: 22 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22
{
33
[Fact]
44
public Task Null() =>
5-
Verify(VerifierSettings.GetNameForParameter(null, counter: Counter()));
5+
Verify(VerifierSettings.GetNameForParameter(null, counter: CounterBuilder.Empty()));
66

77
[Fact]
88
public Task StringEmpty() =>
9-
Verify(VerifierSettings.GetNameForParameter("", counter: Counter()));
9+
Verify(VerifierSettings.GetNameForParameter("", counter: CounterBuilder.Empty()));
1010

1111
[Fact]
1212
public Task StringInvalidPathChar() =>
13-
Verify(VerifierSettings.GetNameForParameter("a/a", counter: Counter()));
13+
Verify(VerifierSettings.GetNameForParameter("a/a", counter: CounterBuilder.Empty()));
1414

1515
[Fact]
1616
public Task Int() =>
17-
Verify(VerifierSettings.GetNameForParameter(10, counter: Counter()));
17+
Verify(VerifierSettings.GetNameForParameter(10, counter: CounterBuilder.Empty()));
1818

1919
[Fact]
2020
public Task NullCounter() =>
@@ -26,7 +26,7 @@ public Task Half() =>
2626
Verify(
2727
VerifierSettings.GetNameForParameter(
2828
(Half) 10,
29-
counter: Counter()));
29+
counter: CounterBuilder.Empty()));
3030
#endif
3131

3232
#if NET6_0_OR_GREATER
@@ -35,14 +35,14 @@ public Task Date() =>
3535
Verify(
3636
VerifierSettings.GetNameForParameter(
3737
new Date(2000, 10, 1),
38-
counter: Counter()));
38+
counter: CounterBuilder.Empty()));
3939

4040
[Fact]
4141
public Task Time() =>
4242
Verify(
4343
VerifierSettings.GetNameForParameter(
4444
new Date(2000, 10, 1),
45-
counter: Counter()));
45+
counter: CounterBuilder.Empty()));
4646
#endif
4747

4848
[Fact]
@@ -52,7 +52,7 @@ public Task DateTimeLocal()
5252
return Verify(
5353
VerifierSettings.GetNameForParameter(
5454
date,
55-
counter: Counter()));
55+
counter: CounterBuilder.Empty()));
5656
}
5757

5858
[Fact]
@@ -62,7 +62,7 @@ public Task DateTimeUnspecified()
6262
return Verify(
6363
VerifierSettings.GetNameForParameter(
6464
date,
65-
counter: Counter()));
65+
counter: CounterBuilder.Empty()));
6666
}
6767

6868
[Fact]
@@ -72,7 +72,7 @@ public Task DateTimeUtc()
7272
return Verify(
7373
VerifierSettings.GetNameForParameter(
7474
date,
75-
counter: Counter()));
75+
counter: CounterBuilder.Empty()));
7676
}
7777

7878
[Fact]
@@ -82,7 +82,7 @@ public Task DateTimeOffsetUtc()
8282
return Verify(
8383
VerifierSettings.GetNameForParameter(
8484
date,
85-
counter: Counter()));
85+
counter: CounterBuilder.Empty()));
8686
}
8787

8888
[Fact]
@@ -92,7 +92,7 @@ public Task List() =>
9292
{
9393
"value"
9494
},
95-
counter: Counter()));
95+
counter: CounterBuilder.Empty()));
9696

9797
[Fact]
9898
public Task ListMultiple() =>
@@ -103,7 +103,7 @@ public Task ListMultiple() =>
103103
"value1",
104104
"value2"
105105
},
106-
counter: Counter()));
106+
counter: CounterBuilder.Empty()));
107107

108108
[Fact]
109109
public Task Nested() =>
@@ -122,14 +122,14 @@ public Task Nested() =>
122122
},
123123
"value4"
124124
},
125-
counter: Counter()));
125+
counter: CounterBuilder.Empty()));
126126

127127
[Fact]
128128
public Task EmptyList() =>
129129
Verify(
130130
VerifierSettings.GetNameForParameter(
131131
new List<string>(),
132-
counter: Counter()));
132+
counter: CounterBuilder.Empty()));
133133

134134
[Fact]
135135
public Task Dictionary() =>
@@ -140,7 +140,7 @@ public Task Dictionary() =>
140140
"value", 10
141141
}
142142
},
143-
counter: Counter()));
143+
counter: CounterBuilder.Empty()));
144144

145145
[Fact]
146146
public Task DictionaryMultiple() =>
@@ -154,21 +154,21 @@ public Task DictionaryMultiple() =>
154154
"value2", 11
155155
}
156156
},
157-
counter: Counter()));
157+
counter: CounterBuilder.Empty()));
158158

159159
[Fact]
160160
public Task EmptyDictionary() =>
161161
Verify(
162162
VerifierSettings.GetNameForParameter(
163163
new Dictionary<string, int>(),
164-
counter: Counter()));
164+
counter: CounterBuilder.Empty()));
165165

166166
[Fact]
167167
public Task EnumerableStaticEmpty() =>
168168
Verify(
169169
VerifierSettings.GetNameForParameter(
170170
Enumerable.Empty<string>(),
171-
counter: Counter()));
171+
counter: CounterBuilder.Empty()));
172172

173173
[Fact]
174174
public Task Array() =>
@@ -178,18 +178,7 @@ public Task Array() =>
178178
{
179179
"value"
180180
},
181-
counter: Counter()));
182-
183-
private static Counter Counter() =>
184-
new(
185-
true,
186-
#if NET6_0_OR_GREATER
187-
[],
188-
[],
189-
#endif
190-
[],
191-
[],
192-
[]);
181+
counter: CounterBuilder.Empty()));
193182

194183
[Fact]
195184
public Task ArrayMultiple() =>
@@ -199,12 +188,12 @@ public Task ArrayMultiple() =>
199188
"value1",
200189
"value2"
201190
},
202-
counter: Counter()));
191+
counter: CounterBuilder.Empty()));
203192

204193
[Fact]
205194
public Task ArrayEmpty() =>
206195
Verify(
207196
VerifierSettings.GetNameForParameter(
208197
System.Array.Empty<string>(),
209-
counter: Counter()));
198+
counter: CounterBuilder.Empty()));
210199
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
public class VerifyJsonWriterTests
2+
{
3+
[Fact]
4+
public void ShouldWriteScrubbed_WhenValueIsIgnored()
5+
{
6+
var builder = new StringBuilder();
7+
var settings = new VerifySettings();
8+
settings.IgnoreMember("name");
9+
var writer = new VerifyJsonWriter(builder, settings, CounterBuilder.Empty());
10+
11+
writer.WriteMember(new(), "value".AsSpan(), "name");
12+
13+
Assert.DoesNotContain("name", builder.ToString());
14+
}
15+
16+
[Fact]
17+
public void ShouldWriteScrubbed_WhenValueIsScrubbed()
18+
{
19+
var builder = new StringBuilder();
20+
var settings = new VerifySettings();
21+
settings.ScrubMember("name");
22+
var writer = new VerifyJsonWriter(builder, settings, CounterBuilder.Empty());
23+
24+
writer.WriteMember(new(), "value".AsSpan(), "name");
25+
26+
Assert.Contains("name:Scrubbed", builder.ToString());
27+
}
28+
29+
[Fact]
30+
public void ShouldWriteValue()
31+
{
32+
var builder = new StringBuilder();
33+
var settings = new VerifySettings
34+
{
35+
serialization = new()
36+
};
37+
var writer = new VerifyJsonWriter(builder, settings, CounterBuilder.Empty());
38+
39+
writer.WriteMember(new(), "value".AsSpan(), "name");
40+
41+
Assert.Contains("name:value", builder.ToString());
42+
}
43+
}

0 commit comments

Comments
 (0)