2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / corlib / Test / System.Collections / SortedListTest.cs
index 7b4aba89f771c61396c1c4b9415acce56cf94e03..72c0ff74f88cd6ff8181ccb6681c43f52defb81a 100755 (executable)
@@ -21,8 +21,6 @@ using NUnit.Framework;
 \r
 namespace MonoTests.System.Collections {\r
 \r
-\r
-/// <summary>SortedList test.</summary>\r
 [TestFixture]\r
 public class SortedListTest : Assertion {\r
        protected SortedList sl1;\r
@@ -30,16 +28,6 @@ public class SortedListTest : Assertion {
        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
@@ -115,6 +103,24 @@ public class SortedListTest : Assertion {
                } 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
@@ -174,7 +180,6 @@ public class SortedListTest : Assertion {
 \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
@@ -302,6 +307,32 @@ public class SortedListTest : Assertion {
                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