Merge branch 'master' into msbuilddll2
[mono.git] / mcs / class / corlib / Test / System.Diagnostics / DebuggerDisplayAttributeTest.cs
1 //
2 // DebuggerDisplayAttributeTest.cs
3 //
4 // Author:
5 //      Rolf Bjarne Kvinge  (RKvinge@novell.com)
6 //
7 // (C) 2007
8 //
9
10 using System;
11 using System.Diagnostics;
12 using NUnit.Framework;
13
14 namespace MonoTests.System.Diagnostics
15 {
16         /// <summary>
17         /// Tests the case where StackFrame is created for specified file name and
18         /// location inside it.
19         /// </summary>
20         [TestFixture]
21         public class DebuggerDisplayAttributeTest
22         {
23                 [Test]
24                 public void ConstructorTest ()
25                 {
26                         DebuggerDisplayAttribute dda;
27
28                         dda = new DebuggerDisplayAttribute (null);
29                         Assert.AreEqual (string.Empty, dda.Value, "A1");
30                         Assert.IsNull (dda.Target, "A2");
31                         Assert.IsNull (dda.TargetTypeName, "A3");
32                         Assert.AreEqual (string.Empty, dda.Type, "A4");
33                         Assert.AreEqual (string.Empty, dda.Name, "A4");
34
35                         dda = new DebuggerDisplayAttribute ("abc");
36                         Assert.AreEqual ("abc", dda.Value, "B1");
37                         Assert.IsNull (dda.Target, "B2");
38                         Assert.IsNull (dda.TargetTypeName, "B3");
39                         Assert.AreEqual (string.Empty, dda.Type, "B4");
40                         Assert.AreEqual (string.Empty, dda.Name, "B4");
41                 }
42                 
43                 [Test]
44                 public void TargetTest ()
45                 {
46                         DebuggerDisplayAttribute dda;
47
48                         dda = new DebuggerDisplayAttribute (null);
49                         Assert.AreEqual (string.Empty, dda.Value, "A1");
50                         Assert.IsNull (dda.Target, "A2");
51                         Assert.IsNull (dda.TargetTypeName, "A3");
52                         Assert.AreEqual (string.Empty, dda.Type, "A4");
53                         Assert.AreEqual (string.Empty, dda.Name, "A4");
54
55                         dda.Target = typeof(string);
56                         Assert.AreEqual (string.Empty, dda.Value, "B1");
57                         Assert.IsNotNull (dda.Target, "B2");
58                         Assert.AreSame (typeof(string), dda.Target, "B2-b");
59                         Assert.AreEqual (typeof (string).AssemblyQualifiedName, dda.TargetTypeName, "B3");
60                         Assert.AreEqual (string.Empty, dda.Type, "B4");
61                         Assert.AreEqual (string.Empty, dda.Name, "B4");
62
63                         try {
64                                 dda.Target = null;
65                                 Assert.Fail ("Excepted ArgumentNullException, got no exception.");
66                         } catch (ArgumentNullException) {
67                         }
68                 }
69
70                 [Test]
71                 public void TargetTypeNameTest ()
72                 {
73                         DebuggerDisplayAttribute dda;
74
75                         dda = new DebuggerDisplayAttribute (null);
76                         Assert.AreEqual (string.Empty, dda.Value, "A1");
77                         Assert.IsNull (dda.Target, "A2");
78                         Assert.IsNull (dda.TargetTypeName, "A3");
79                         Assert.AreEqual (string.Empty, dda.Type, "A4");
80                         Assert.AreEqual (string.Empty, dda.Name, "A4");
81
82                         dda.TargetTypeName = "System.String";
83                         Assert.AreEqual (string.Empty, dda.Value, "B1");
84                         Assert.IsNull (dda.Target, "B2");
85                         Assert.AreEqual ("System.String", dda.TargetTypeName, "B3");
86                         Assert.AreEqual (string.Empty, dda.Type, "B4");
87                         Assert.AreEqual (string.Empty, dda.Name, "B4");
88
89                         dda.TargetTypeName = null;
90                         Assert.AreEqual (string.Empty, dda.Value, "C1");
91                         Assert.IsNull (dda.Target, "C2");
92                         Assert.IsNull (dda.TargetTypeName, "C3");
93                         Assert.AreEqual (string.Empty, dda.Type, "C4");
94                         Assert.AreEqual (string.Empty, dda.Name, "C4");
95
96                         dda.TargetTypeName = string.Empty;
97                         Assert.AreEqual (string.Empty, dda.Value, "D1");
98                         Assert.IsNull (dda.Target, "D2");
99                         Assert.AreEqual (string.Empty, dda.TargetTypeName, "D3");
100                         Assert.AreEqual (string.Empty, dda.Type, "D4");
101                         Assert.AreEqual (string.Empty, dda.Name, "D4");
102                 }
103
104                 [Test]
105                 public void TypeTest ()
106                 {
107                         DebuggerDisplayAttribute dda;
108
109                         dda = new DebuggerDisplayAttribute (null);
110                         Assert.AreEqual (string.Empty, dda.Value, "A1");
111                         Assert.IsNull (dda.Target, "A2");
112                         Assert.IsNull (dda.TargetTypeName, "A3");
113                         Assert.AreEqual (string.Empty, dda.Type, "A4");
114                         Assert.AreEqual (string.Empty, dda.Name, "A4");
115
116                         dda.Type = "System.String";
117                         Assert.AreEqual (string.Empty, dda.Value, "B1");
118                         Assert.IsNull (dda.Target, "B2");
119                         Assert.IsNull (dda.TargetTypeName, "B3");
120                         Assert.AreEqual ("System.String", dda.Type, "B4");
121                         Assert.AreEqual (string.Empty, dda.Name, "B4");
122
123                         dda.Type = null;
124                         Assert.AreEqual (string.Empty, dda.Value, "C1");
125                         Assert.IsNull (dda.Target, "C2");
126                         Assert.IsNull (dda.TargetTypeName, "C3");
127                         Assert.IsNull (dda.Type, "C4");
128                         Assert.AreEqual (string.Empty, dda.Name, "C4");
129
130                         dda.Type = string.Empty;
131                         Assert.AreEqual (string.Empty, dda.Value, "D1");
132                         Assert.IsNull (dda.Target, "D2");
133                         Assert.IsNull (dda.TargetTypeName, "D3");
134                         Assert.AreEqual (string.Empty, dda.Type, "D4");
135                         Assert.AreEqual (string.Empty, dda.Name, "D4");
136                 }
137
138                 [Test]
139                 public void NameTest ()
140                 {
141                         DebuggerDisplayAttribute dda;
142
143                         dda = new DebuggerDisplayAttribute (null);
144                         Assert.AreEqual (string.Empty, dda.Value, "A1");
145                         Assert.IsNull (dda.Target, "A2");
146                         Assert.IsNull (dda.TargetTypeName, "A3");
147                         Assert.AreEqual (string.Empty, dda.Type, "A4");
148                         Assert.AreEqual (string.Empty, dda.Name, "A4");
149
150                         dda.Name = "who?";
151                         Assert.AreEqual (string.Empty, dda.Value, "B1");
152                         Assert.IsNull (dda.Target, "B2");
153                         Assert.IsNull (dda.TargetTypeName, "B3");
154                         Assert.AreEqual (string.Empty, dda.Type, "B4");
155                         Assert.AreEqual ("who?", dda.Name, "B4");
156
157                         dda.Name = null;
158                         Assert.AreEqual (string.Empty, dda.Value, "C1");
159                         Assert.IsNull (dda.Target, "C2");
160                         Assert.IsNull (dda.TargetTypeName, "C3");
161                         Assert.AreEqual (string.Empty, dda.Type, "C4");
162                         Assert.IsNull (dda.Name, "C4");
163
164                         dda.Name = string.Empty;
165                         Assert.AreEqual (string.Empty, dda.Value, "D1");
166                         Assert.IsNull (dda.Target, "D2");
167                         Assert.IsNull (dda.TargetTypeName, "D3");
168                         Assert.AreEqual (string.Empty, dda.Type, "D4");
169                         Assert.AreEqual (string.Empty, dda.Name, "D4");
170                 }
171         }
172 }