2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / nunit20 / util / TestResultItem.cs
1 #region Copyright (c) 2002-2003, James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole, Philip A. Craig
2 /************************************************************************************
3 '
4 ' Copyright  2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
5 ' Copyright  2000-2002 Philip A. Craig
6 '
7 ' This software is provided 'as-is', without any express or implied warranty. In no 
8 ' event will the authors be held liable for any damages arising from the use of this 
9 ' software.
10
11 ' Permission is granted to anyone to use this software for any purpose, including 
12 ' commercial applications, and to alter it and redistribute it freely, subject to the 
13 ' following restrictions:
14 '
15 ' 1. The origin of this software must not be misrepresented; you must not claim that 
16 ' you wrote the original software. If you use this software in a product, an 
17 ' acknowledgment (see the following) in the product documentation is required.
18 '
19 ' Portions Copyright  2002-2003 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov, Charlie Poole
20 ' or Copyright  2000-2002 Philip A. Craig
21 '
22 ' 2. Altered source versions must be plainly marked as such, and must not be 
23 ' misrepresented as being the original software.
24 '
25 ' 3. This notice may not be removed or altered from any source distribution.
26 '
27 '***********************************************************************************/
28 #endregion
29
30 using System;
31
32 namespace NUnit.Util
33 {
34         using NUnit.Core;
35
36         /// <summary>
37         /// Summary description for TestResultItem.
38         /// </summary>
39         public class TestResultItem
40         {
41                 private string testName;
42                 private string message;
43                 private string stackTrace;
44
45                 public TestResultItem(TestResult result )
46                 {
47                         testName = result.Name;
48                         message = result.Message;
49                         stackTrace = result.StackTrace;
50                 }
51
52                 public override string ToString()
53                 {
54                         return String.Format("{0} : {1}", testName, message);
55                 }
56
57                 public string GetMessage()
58                 {
59                         return ToString();
60                 }
61
62         public string GetToolTipMessage()   //NRG 05/28/03 - Substitute spaces for tab characters
63         {
64             return (ReplaceTabs(GetMessage(), 8)); // Change each tab to 8 space characters
65         }
66
67         public string ReplaceTabs(string strOriginal, int nSpaces)  //NRG 05/28/03
68         {
69             string strSpaces = string.Empty;
70             strSpaces = strSpaces.PadRight(nSpaces, ' ');
71             return(strOriginal.Replace("\t", strSpaces));
72         }
73
74                 public string StackTrace
75                 {
76                         get 
77                         {
78                                 string trace = "No stack trace is available";
79                                 if(stackTrace != null)
80                                         trace = StackTraceFilter.Filter(stackTrace);
81
82                                 return stackTrace;
83                         }
84                 }
85         }
86 }