2
using System.Collections.Generic;
9
public static void TestAdd()
11
IList<int> list = new Eina.List<int>();
12
Test.AssertEquals(list.Count, 0);
14
Test.AssertEquals(list.Count, 1);
16
Test.AssertEquals(list.Count, 2);
19
public static void TestRemoveAt()
21
IList<int> list = new Eina.List<int>();
22
Test.AssertEquals(list.Count, 0);
24
Test.AssertEquals(list.Count, 1);
25
Test.AssertEquals(list[0], 1);
27
Test.AssertEquals(list.Count, 0);
31
Test.AssertEquals(list.Count, 3);
32
Test.AssertEquals(list[2], 1);
34
Test.AssertEquals(list.Count, 2);
35
Test.AssertEquals(list[0], 1);
38
public static void TestRemove()
40
IList<int> list = new Eina.List<int>();
41
Test.Assert(!list.Remove(0));
42
Test.AssertEquals(list.Count, 0);
44
Test.AssertEquals(list.Count, 1);
45
Test.Assert(list.Remove(1));
46
Test.AssertEquals(list.Count, 0);
49
Test.AssertEquals(list.Count, 2);
50
Test.Assert(list.Remove(1));
51
Test.AssertEquals(list.Count, 1);
54
Test.AssertEquals(list[1], 0);
55
Test.AssertEquals(list.Count, 3);
56
Test.Assert(!list.Remove(2));
57
Test.Assert(list.Remove(1));
58
Test.AssertEquals(list[1], 1);
59
Test.AssertEquals(list.Count, 2);
62
public static void TestContains()
64
IList<int> list = new Eina.List<int>();
65
Test.AssertEquals(list.Count, 0);
66
Test.Assert(!list.Contains(0));
68
Test.Assert(list.Contains(0));
69
Test.Assert(list.Remove(0));
70
Test.Assert(!list.Contains(0));
73
Test.Assert(list.Contains(0));
76
public static void TestClear()
78
IList<int> list = new Eina.List<int>();
79
Test.AssertEquals(list.Count, 0);
81
Test.AssertEquals(list.Count, 0);
83
Test.AssertEquals(list.Count, 1);
85
Test.AssertEquals(list.Count, 0);
88
Test.AssertEquals(list.Count, 2);
90
Test.AssertEquals(list.Count, 0);
93
Test.AssertEquals(list.Count, 2);
94
Test.Assert(list.Remove(0));
95
Test.AssertEquals(list.Count, 1);
97
Test.AssertEquals(list.Count, 0);
100
public static void TestInsert()
102
IList<int> list = new Eina.List<int>();
104
Test.AssertEquals(list.Count, 1);
106
Test.AssertEquals(list.Count, 2);
107
Test.AssertEquals(list[0], 6);
109
Test.AssertEquals(list.Count, 3);
110
Test.AssertEquals(list[1], 5);
112
Test.AssertEquals(list.Count, 4);
113
Test.AssertEquals(list[1], 10);
115
Test.AssertEquals(list.Count, 3);
116
Test.AssertEquals(list[1], 5);
118
Test.AssertEquals(list.Count, 4);
119
Test.AssertEquals(list[1], 42);
122
public static void TestIndexOf()
124
IList<int> list = new Eina.List<int>();
125
Test.AssertEquals(list.Count, 0);
127
Test.AssertEquals(list.Count, 1);
128
Test.AssertEquals(0, list.IndexOf(1));
130
Test.AssertEquals(list.Count, 2);
131
Test.AssertEquals(0, list.IndexOf(0));
132
Test.AssertEquals(1, list.IndexOf(1));
134
Test.AssertEquals(list.Count, 3);
135
Test.AssertEquals(0, list.IndexOf(1));
136
Test.AssertEquals(1, list.IndexOf(0));
138
Test.AssertEquals(list.Count, 4);
139
Test.AssertEquals(0, list.IndexOf(1));
140
Test.AssertEquals(2, list.IndexOf(0));
143
public static void TestCopyTo()
145
IList<int> list = new Eina.List<int>();
146
Test.AssertEquals(list.Count, 0);
147
int[] random = {4, 40, 10, 42, 99};
151
Test.AssertEquals(list.Count, 3);
152
Array.ForEach(random, (n) => list.Add(n));
153
Test.AssertEquals(list.Count, 8);
154
int[] expected = {1, 50, 43, 4, 40, 10, 42, 99};
155
var result = new int[expected.Length];
156
list.CopyTo(result, 0);
157
for (int i = 0; i < expected.Length; ++i)
159
Test.AssertEquals(expected[i], result[i]);
163
public static void TestIdxOutBounds()
165
var list = new Eina.List<int>();
167
Test.AssertRaises<ArgumentOutOfRangeException>(()=>list.Nth(1));
168
Test.AssertRaises<ArgumentOutOfRangeException>(()=>list.Nth(-1));
169
Test.AssertNotRaises<ArgumentOutOfRangeException>
170
(()=>list.Nth(list.IndexOf(4)));
173
public static void TestReadOnly()
175
var list = new Eina.List<int>();
176
int[] array = {6, 5, 4, 3, 2};
178
Test.AssertEquals(list.Count, 5);
179
Test.AssertRaises<InvalidOperationException>(() => list.SetOwnership(false, true));
180
list.SetOwnership(false);
181
Test.AssertRaises<NotSupportedException>(() => list.Add(4));
182
Test.AssertRaises<NotSupportedException>(() => list.Append(6));
183
Test.AssertRaises<NotSupportedException>(() => list.Append(array));
184
Test.AssertRaises<NotSupportedException>(() => list.Remove(6));
185
Test.AssertEquals(list.Count, 5);
186
Test.AssertRaises<NotSupportedException>(() => list.RemoveAt(2));
187
Test.AssertRaises<NotSupportedException>(() => list.Insert(4, 4));
188
Test.AssertRaises<NotSupportedException>(() => list.Clear());
189
Test.AssertRaises<NotSupportedException>(() => list.Sort());
190
Test.Assert(list.ToArray().SequenceEqual(array));