Merge pull request #1066 from esdrubal/bug19313
[mono.git] / mcs / tests / test-77.cs
1 //
2 // Tests the various string implicit conversions
3 //
4
5 class XX {
6
7         enum X {
8                 A = 1
9         }
10         
11         public static int Main ()
12         {
13                 int one = 1;
14                 int two = 2;
15                 
16                 if (("a" + "b") != "ab")
17                         return 1;
18
19                 if (("one" + one) != "one1")
20                         return 2;
21
22                 if ((one + "one") != "1one")
23                         return 3;
24
25                 if ((one + "two" + two) != "1two2")
26                         return 4;
27
28                 if ((X.A + "a") != "Aa")
29                         return 5;
30
31                 if (((int)X.A) + "a" != "1a")
32                         return 6;
33         
34                 if ((1 + " " + "hello") != "1 hello")
35                         return 7;
36         
37                 const string s1 = null + (string)null;
38                 const string s2 = (string)null + null;
39
40                 string s;
41                 s = (string)null + null;
42                 if (s.Length != 0)
43                         return 8;
44
45                 s = null + (string)null;
46                 if (s.Length != 0)
47                         return 9;
48
49                 s = (object)null + null;
50                 if (s.Length != 0)
51                         return 10;
52
53                 s = null + (object)null;
54                 if (s.Length != 0)
55                         return 11;
56
57                 s = (object)1 + null;
58                 if (s != "1")
59                         return 12;
60
61                 s = (string)null + (object)null;
62                 if (s.Length != 0)
63                         return 13;
64
65                 s = (object)null + (string)null;
66                 if (s.Length != 0)
67                         return 14;
68
69                 System.Console.WriteLine ("test ok");
70                 return 0;
71         }
72 }
73