Skip to content

Commit 87e9729

Browse files
feat:
+ InterpolatedStringHandler for insert method
1 parent d5f1841 commit 87e9729

File tree

3 files changed

+338
-47
lines changed

3 files changed

+338
-47
lines changed
Lines changed: 8 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using NUnit.Framework;
2-
using System.Collections.Generic;
32

43
namespace StringBuilderArrayTests
54
{
@@ -25,59 +24,25 @@ public void GetIndex()
2524
Assert.That(sbArr.GetIndex("10"), Is.EqualTo(-1));
2625
}
2726

27+
#if NET6_0_OR_GREATER
2828
[Test]
29-
public void Insert()
29+
public void GetIndexInterpool()
3030
{
31-
var expect = new List<string>()
32-
{
33-
"0", "1","2","3","4","5","6","7","8","9"
34-
};//count 10
35-
3631
var sbArr = new StringBuilderArray.StringBuilderArray();
3732
for (int i = 0; i < 10; i++)
3833
{
39-
sbArr.Append(i.ToString());
34+
sbArr.Append($"Number {i}");
35+
Assert.That(sbArr.GetIndex($"Number {i}"), Is.EqualTo(0));
4036
}
4137

42-
expect.Insert(expect.Count - 1, "Secret before end");
43-
//count 11
44-
sbArr.Insert(0, "Secret before end");
45-
4638
var index = 0;
47-
foreach (var str in sbArr)
48-
{
49-
Assert.That(str, Is.EqualTo(expect[index++]));
50-
}
51-
52-
expect.Insert(0, "Secret start");
53-
//count 12
54-
sbArr.Insert(10, "Secret start");
55-
56-
index = 0;
57-
foreach (var str in sbArr)
58-
{
59-
Assert.That(str, Is.EqualTo(expect[index++]));
60-
}
61-
62-
expect.Insert(1, "Secret index 1");
63-
//count 13
64-
sbArr.Insert(10, "Secret index 1");
65-
66-
index = 0;
67-
foreach (var str in sbArr)
39+
for (int i = 10 - 1; i >= 0; i--)
6840
{
69-
Assert.That(str, Is.EqualTo(expect[index++]));
41+
Assert.That(sbArr.GetIndex($"Number {i}"), Is.EqualTo((index++) * 2));
7042
}
7143

72-
expect.Insert(9, "Secret index 9");
73-
//count 14
74-
sbArr.Insert(3, "Secret index 9");
75-
76-
index = 0;
77-
foreach (var str in sbArr)
78-
{
79-
Assert.That(str, Is.EqualTo(expect[index++]));
80-
}
44+
Assert.That(sbArr.GetIndex("20"), Is.EqualTo(-1));
8145
}
46+
#endif
8247
}
8348
}
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
using NUnit.Framework;
2+
using System.Collections.Generic;
3+
4+
namespace StringBuilderArrayTests
5+
{
6+
internal class InsertFixture
7+
{
8+
[Test]
9+
public void Insert()
10+
{
11+
var expect = new List<string>()
12+
{
13+
"0", "1","2","3","4","5","6","7","8","9"
14+
};//count 10
15+
16+
var sbArr = new StringBuilderArray.StringBuilderArray();
17+
for (int i = 0; i < 10; i++)
18+
{
19+
sbArr.Append(i.ToString());
20+
}
21+
22+
expect.Insert(expect.Count - 1, "Secret before end");
23+
//count 11
24+
sbArr.Insert(0, "Secret before end");
25+
26+
var index = 0;
27+
foreach (var str in sbArr)
28+
{
29+
Assert.That(str, Is.EqualTo(expect[index++]));
30+
}
31+
32+
expect.Insert(0, "Secret start");
33+
//count 12
34+
sbArr.Insert(10, "Secret start");
35+
36+
index = 0;
37+
foreach (var str in sbArr)
38+
{
39+
Assert.That(str, Is.EqualTo(expect[index++]));
40+
}
41+
42+
expect.Insert(1, "Secret index 1");
43+
//count 13
44+
sbArr.Insert(10, "Secret index 1");
45+
46+
index = 0;
47+
foreach (var str in sbArr)
48+
{
49+
Assert.That(str, Is.EqualTo(expect[index++]));
50+
}
51+
52+
expect.Insert(9, "Secret index 9");
53+
//count 14
54+
sbArr.Insert(3, "Secret index 9");
55+
56+
index = 0;
57+
foreach (var str in sbArr)
58+
{
59+
Assert.That(str, Is.EqualTo(expect[index++]));
60+
}
61+
}
62+
63+
#if NET6_0_OR_GREATER
64+
[Test]
65+
public void InsertInterpool()
66+
{
67+
var literal = "top";
68+
var expect = new List<string>()
69+
{
70+
"Number ", "0",
71+
"Number ", "1",
72+
"Number ", "2",
73+
"Number ", "3",
74+
"Number ", "4",
75+
"Number ", "5",
76+
"Number ", "6",
77+
"Number ", "7",
78+
"Number ", "8",
79+
"Number ", "9"
80+
};//count 20
81+
82+
var sbArr = new StringBuilderArray.StringBuilderArray();
83+
for (int i = 0; i < 10; i++)
84+
{
85+
sbArr.Append($"Number {i}");
86+
}
87+
88+
expect.Insert(expect.Count - 2, "Secret before end ");
89+
expect.Insert(expect.Count - 2, literal);
90+
//count 22
91+
sbArr.Insert(1, $"Secret before end {literal}");
92+
93+
var index = 0;
94+
foreach (var str in sbArr)
95+
{
96+
Assert.That(str, Is.EqualTo(expect[index++]));
97+
}
98+
99+
expect.Insert(0, "Secret start ");
100+
expect.Insert(1, literal);
101+
//count 24
102+
sbArr.Insert(21, $"Secret start {literal}");
103+
104+
index = 0;
105+
foreach (var str in sbArr)
106+
{
107+
Assert.That(str, Is.EqualTo(expect[index++]));
108+
}
109+
110+
expect.Insert(2, "Secret index 1 ");
111+
expect.Insert(3, literal);
112+
//count 26
113+
sbArr.Insert(21, $"Secret index 1 {literal}");
114+
115+
index = 0;
116+
foreach (var str in sbArr)
117+
{
118+
Assert.That(str, Is.EqualTo(expect[index++]));
119+
}
120+
121+
expect.Insert(8, "Secret index 9 ");
122+
expect.Insert(9, literal);
123+
//count 28
124+
sbArr.Insert(17, $"Secret index 9 {literal}");
125+
126+
index = 0;
127+
foreach (var str in sbArr)
128+
{
129+
Assert.That(str, Is.EqualTo(expect[index++]));
130+
}
131+
}
132+
#endif
133+
}
134+
}

0 commit comments

Comments
 (0)