2003-10-07 Nick Drochak <ndrochak@gol.com>
[mono.git] / mcs / class / corlib / Test / System.Collections / CaseInsensitiveComparerTest.cs
1 // CaseInsensitiveComparerTest\r
2 \r
3 using System;\r
4 using System.Collections;\r
5 \r
6 using NUnit.Framework;\r
7 \r
8 \r
9 \r
10 namespace MonoTests.System.Collections {\r
11 \r
12 \r
13         /// <summary>CaseInsensitiveComparer test suite.</summary>\r
14         [TestFixture]\r
15         public class CaseInsensitiveComparerTest : TestCase {\r
16                 protected override void SetUp ()\r
17                 {\r
18                 }\r
19 \r
20                 [Test]\r
21                 public void TestDefaultInstance ()\r
22                 {\r
23                         // Make sure the instance returned by Default\r
24                         // is really a CaseInsensitiveComparer.\r
25                         Assert((CaseInsensitiveComparer.Default\r
26                                 as CaseInsensitiveComparer) != null);\r
27                 }\r
28 \r
29                 [Test]\r
30                 public void TestCompare () {\r
31                         CaseInsensitiveComparer cic = new CaseInsensitiveComparer ();\r
32 \r
33                         AssertEquals(cic.Compare ("WILD WEST", "Wild West"),0);\r
34                         AssertEquals(cic.Compare ("WILD WEST", "wild west"),0);\r
35                         Assert(cic.Compare ("Zeus", "Mars") > 0);\r
36                         Assert(cic.Compare ("Earth", "Venus") < 0);\r
37                 }\r
38 \r
39                 [Test]\r
40                 public void TestIntsNEq()\r
41                 {\r
42                         int a =1;\r
43                         int b =2;                                   \r
44                         AssertEquals("#01",Comparer.Default.Compare(a,b),CaseInsensitiveComparer.Default.Compare(a,b));\r
45                 }\r
46                 \r
47                 [Test]\r
48                 public void TestIntsEq()\r
49                 {\r
50                         int a =1;\r
51                         int b =1;                                                                                \r
52                 \r
53                         AssertEquals("#02",Comparer.Default.Compare(a,b),CaseInsensitiveComparer.Default.Compare(a,b));\r
54                 }\r
55 \r
56                 [Test]\r
57                 [ExpectedException (typeof (ArgumentNullException))]\r
58                 public void CtorNull()\r
59                 {\r
60                     new CaseInsensitiveComparer(null);\r
61                 }\r
62 \r
63                 [Test]\r
64                 [ExpectedException (typeof (ArgumentException))]\r
65                 public void TestObject()\r
66                 {\r
67                     object a = new object();\r
68                     object b = new object();\r
69                     CaseInsensitiveComparer.Default.Compare(a,b);\r
70                 }\r
71 \r
72                 [Test]\r
73                 [ExpectedException (typeof (ArgumentException))]\r
74                 public void TestDiffArgs()\r
75                 {\r
76                     int a = 5;\r
77                     string b = "hola";\r
78                     CaseInsensitiveComparer.Default.Compare(a,b);\r
79                 }\r
80 \r
81                 [Test]\r
82                 public void TestNull1()\r
83                 {\r
84                         string a = null;\r
85                         string b = "5";\r
86 \r
87                         AssertEquals("#04 Failed",Comparer.Default.Compare(a,b),CaseInsensitiveComparer.Default.Compare(a,b));\r
88                 }\r
89 \r
90                 [Test]\r
91                 public void TestNull2()\r
92                 {\r
93                         string a = null;\r
94                         string b = null;\r
95 \r
96                         AssertEquals("#05 Failed",Comparer.Default.Compare(a,b),CaseInsensitiveComparer.Default.Compare(a,b));\r
97                 }\r
98                 \r
99                 [Test]\r
100                 public void TestStringsCaps()\r
101                 {\r
102                         string a = "AA";\r
103                         string b = "aa";\r
104 \r
105                         AssertEquals("#06 Failed",CaseInsensitiveComparer.Default.Compare(a,b),0);\r
106                 }\r
107       \r
108         }\r
109 \r
110 }\r