Skip to content

Commit 26a2c43

Browse files
feat:
+ tests + Enumerator
1 parent 0fc5ef6 commit 26a2c43

File tree

5 files changed

+352
-22
lines changed

5 files changed

+352
-22
lines changed
Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
using NUnit.Framework;
2+
using System;
3+
using System.Collections.Generic;
4+
using System.Text;
5+
6+
namespace StringBuilderArrayTests
7+
{
8+
[TestFixture]
9+
public class StringBuilderArrayFixture
10+
{
11+
[Test]
12+
public void AppendTest()
13+
{
14+
var sb = new StringBuilder();
15+
for (int i = 0; i < 53; i++)
16+
{
17+
sb.Append(i.ToString());
18+
}
19+
20+
var sbArr = new StringBuilderArray.StringBuilderArray();
21+
for (int i = 0; i < 53; i++)
22+
{
23+
sbArr.Append(i.ToString());
24+
}
25+
26+
Assert.That(sb.ToString(), Is.EqualTo(sbArr.ToString()));
27+
}
28+
29+
[Test]
30+
public void AppendClearTest()
31+
{
32+
var sb = new StringBuilder();
33+
for (int i = 53; i < 70; i++)
34+
{
35+
sb.Append(i.ToString());
36+
}
37+
38+
var sbArr = new StringBuilderArray.StringBuilderArray();
39+
for (int i = 0; i < 53; i++)
40+
{
41+
sbArr.Append(i.ToString());
42+
}
43+
sbArr.Clear();
44+
for (int i = 53; i < 70; i++)
45+
{
46+
sbArr.Append(i.ToString());
47+
}
48+
49+
Assert.That(sb.ToString(), Is.EqualTo(sbArr.ToString()));
50+
}
51+
52+
[Test]
53+
public void AppendLineTest()
54+
{
55+
var sb = new StringBuilder();
56+
for (int i = 0; i < 53; i++)
57+
{
58+
sb.AppendLine(i.ToString());
59+
}
60+
61+
var sbArr = new StringBuilderArray.StringBuilderArray();
62+
for (int i = 0; i < 53; i++)
63+
{
64+
sbArr.AppendLine(i.ToString());
65+
}
66+
67+
Assert.That(sb.ToString(), Is.EqualTo(sbArr.ToString()));
68+
}
69+
70+
[Test]
71+
public void AppendLineClearTest()
72+
{
73+
var sb = new StringBuilder();
74+
for (int i = 53; i < 70; i++)
75+
{
76+
sb.AppendLine(i.ToString());
77+
}
78+
79+
var sbArr = new StringBuilderArray.StringBuilderArray();
80+
for (int i = 0; i < 53; i++)
81+
{
82+
sbArr.AppendLine(i.ToString());
83+
}
84+
sbArr.Clear();
85+
for (int i = 53; i < 70; i++)
86+
{
87+
sbArr.AppendLine(i.ToString());
88+
}
89+
90+
Assert.That(sb.ToString(), Is.EqualTo(sbArr.ToString()));
91+
}
92+
93+
[Test]
94+
public void AppendLineEnumerableTest()
95+
{
96+
var list = new List<string>();
97+
for (int i = 0; i < 53; i++)
98+
{
99+
var text = i.ToString();
100+
list.Add(text);
101+
list.Add(Environment.NewLine);
102+
}
103+
104+
var sbArr = new StringBuilderArray.StringBuilderArray();
105+
for (int i = 0; i < 53; i++)
106+
{
107+
sbArr.AppendLine(i.ToString());
108+
}
109+
110+
var index = 0;
111+
foreach (var str in sbArr)
112+
{
113+
Assert.That(list[index++], Is.EqualTo(str));
114+
}
115+
}
116+
117+
[Test]
118+
public void AppendEnumerableTest()
119+
{
120+
var list = new List<string>();
121+
for (int i = 0; i < 53; i++)
122+
{
123+
var text = i.ToString();
124+
list.Add(text);
125+
}
126+
127+
var sbArr = new StringBuilderArray.StringBuilderArray();
128+
for (int i = 0; i < 53; i++)
129+
{
130+
sbArr.Append(i.ToString());
131+
}
132+
133+
var index = 0;
134+
foreach (var str in sbArr)
135+
{
136+
Assert.That(list[index++], Is.EqualTo(str));
137+
}
138+
}
139+
140+
[Test]
141+
public void AppendArrayTest()
142+
{
143+
var sb = new StringBuilder();
144+
var list = new List<string>();
145+
for (int i = 0; i < 53; i++)
146+
{
147+
var text = i.ToString();
148+
list.Add(text);
149+
sb.Append(text);
150+
}
151+
152+
var sbArr = new StringBuilderArray.StringBuilderArray();
153+
sbArr.Append(list);
154+
155+
Assert.That(sb.ToString(), Is.EqualTo(sbArr.ToString()));
156+
157+
var index = 0;
158+
foreach (var str in sbArr)
159+
{
160+
Assert.That(list[index++], Is.EqualTo(str));
161+
}
162+
}
163+
164+
[Test]
165+
public void AppendLineArrayTest()
166+
{
167+
var sb = new StringBuilder();
168+
var list = new List<string>();
169+
var listInput = new List<string>();
170+
for (int i = 0; i < 53; i++)
171+
{
172+
var text = i.ToString();
173+
listInput.Add(text);
174+
list.Add(text);
175+
list.Add(Environment.NewLine);
176+
sb.AppendLine(text);
177+
}
178+
179+
var sbArr = new StringBuilderArray.StringBuilderArray();
180+
sbArr.AppendLine(listInput);
181+
182+
Assert.That(sb.ToString(), Is.EqualTo(sbArr.ToString()));
183+
184+
var index = 0;
185+
foreach (var str in sbArr)
186+
{
187+
Assert.That(list[index++], Is.EqualTo(str));
188+
}
189+
}
190+
}
191+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<TargetFrameworks>net462;net5.0;net6.0;net7.0</TargetFrameworks>
4+
<IsPackable>false</IsPackable>
5+
<IsTestProject>true</IsTestProject>
6+
</PropertyGroup>
7+
<ItemGroup>
8+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.3" />
9+
<PackageReference Include="NUnit" Version="3.13.3" />
10+
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
11+
<PackageReference Include="NUnit.Analyzers" Version="3.6.1" />
12+
<PackageReference Include="coverlet.collector" Version="6.0.0">
13+
<PrivateAssets>all</PrivateAssets>
14+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
15+
</PackageReference>
16+
</ItemGroup>
17+
<ItemGroup>
18+
<ProjectReference Include="..\StringBuilderArray\StringBuilderArray.csproj" />
19+
</ItemGroup>
20+
</Project>

0 commit comments

Comments
 (0)