\r
namespace MonoTests.System.Collections {\r
\r
-\r
-/// <summary>SortedList test.</summary>\r
[TestFixture]\r
public class SortedListTest : Assertion {\r
protected SortedList sl1;\r
protected SortedList emptysl;\r
protected const int icap=16;\r
\r
- [SetUp]\r
- public void SetUp() \r
- {\r
- }\r
-\r
- [TearDown]\r
- public void TearDown() \r
- {\r
- }\r
-\r
public void TestConstructor1() {\r
SortedList temp1 = new SortedList();\r
AssertNotNull("sl.constructor-1: returns null", temp1);\r
} catch (ArgumentOutOfRangeException) {}\r
}\r
\r
+ [Test]\r
+ public void Constructor_Capacity () \r
+ {\r
+ SortedList sl = new SortedList (0);\r
+ AssertEquals ("Capacity-Original", 0, sl.Capacity);\r
+ sl.Capacity = 0;\r
+ // doesn't reset to class default (16)\r
+ AssertEquals ("Capacity-Resetted", 0, sl.Capacity);\r
+\r
+ for (int i=1; i <= 16; i++) {\r
+ sl = new SortedList (i);\r
+ AssertEquals ("Capacity-Original" + i.ToString (), i, sl.Capacity);\r
+ sl.Capacity = 0;\r
+ // reset to class default (16)\r
+ AssertEquals ("Capacity-Resetted" + i.ToString (), 16, sl.Capacity);\r
+ }\r
+ }\r
+\r
[Test] \r
public void TestIsSynchronized() {\r
SortedList sl1 = new SortedList();\r
public void TestCapacity2 ()\r
{\r
SortedList list = new SortedList ();\r
- list.Capacity = 5;\r
\r
+ list.Capacity = 5;\r
AssertEquals (5, list.Capacity);\r
+\r
+ SortedList sync = SortedList.Synchronized (list);\r
+ AssertEquals (5, sync.Capacity);\r
+\r
+ list.Capacity = 20;\r
+ AssertEquals (20, list.Capacity);\r
+ AssertEquals (20, sync.Capacity);\r
}\r
\r
[Test]\r
#endif\r
}\r
\r
+ [Test]\r
+ public void Capacity_BackTo0 () \r
+ {\r
+ SortedList list = new SortedList (42);\r
+ AssertEquals ("42", 42, list.Capacity);\r
+ list.Capacity = 0;\r
+ AssertEquals ("0(16)", 16, list.Capacity);\r
+ }\r
+\r
[Test]\r
[ExpectedException (typeof (OutOfMemoryException))]\r
- [Ignore ("This is not implemented in the runtime yet")]\r
public void TestCapacity4 ()\r
{\r
SortedList list = new SortedList ();\r
AssertEquals("sl.Clear: capacity is altered", 16, sl1.Capacity);\r
}\r
\r
+ [Test]\r
+ public void Clear_Capacity () \r
+ {\r
+ // strangely Clear change the default capacity (while Capacity doesn't)\r
+ for (int i=0; i <= 16; i++) {\r
+ SortedList sl = new SortedList (i);\r
+ AssertEquals ("Capacity-Original" + i.ToString (), i, sl.Capacity);\r
+ sl.Clear ();\r
+ // reset to class default (16)\r
+ AssertEquals ("Capacity-Resetted" + i.ToString (), 16, sl.Capacity);\r
+ }\r
+ }\r
+\r
+ [Test]\r
+ public void Clear_Capacity_Reset () \r
+ {\r
+ SortedList sl = new SortedList (0);\r
+ AssertEquals ("0", 0, sl.Capacity);\r
+ sl.Clear ();\r
+ // reset to class default (16)\r
+ AssertEquals ("Clear", 16, sl.Capacity);\r
+ sl.Capacity = 0;\r
+ AssertEquals ("Capacity", 16, sl.Capacity);\r
+ // note: we didn't return to 0 - so Clear cahnge the default capacity\r
+ }\r
+\r
[Test]\r
public void TestClone() {\r
{\r
}\r
\r
[Test]\r
- public void TestGetEnumerator() {\r
+ public void GetEnumerator ()\r
+ {\r
SortedList sl1 = DefaultSL();\r
IDictionaryEnumerator e = sl1.GetEnumerator();\r
AssertNotNull("sl.GetEnumerator: does not return enumerator", e);\r
AssertEquals("sl.GetEnumerator: enumerator not working(1)",e.MoveNext(),true);\r
AssertNotNull("sl.GetEnumerator: enumerator not working(2)",e.Current);\r
+\r
+ Assert ("ICloneable", (e is ICloneable));\r
+ Assert ("IDictionaryEnumerator", (e is ICloneable));\r
+ Assert ("IEnumerator", (e is ICloneable));\r
}\r
\r
[Test]\r