TraceTest.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. //
  2. // TraceTest.cs - NUnit Test Cases for System.Diagnostics.Trace
  3. //
  4. // Jonathan Pryor ([email protected])
  5. //
  6. // (C) Jonathan Pryor
  7. //
  8. // We want tracing enabled, so...
  9. #define TRACE
  10. using NUnit.Framework;
  11. using System;
  12. using System.IO;
  13. using System.Diagnostics;
  14. namespace MonoTests.System.Diagnostics {
  15. public class TraceTest : TestCase {
  16. private StringWriter buffer;
  17. private TraceListener listener;
  18. public TraceTest ()
  19. : base ("System.Diagnostics.Trace testsuite")
  20. {
  21. }
  22. public TraceTest (string name)
  23. : base(name)
  24. {
  25. }
  26. protected override void SetUp ()
  27. {
  28. // We don't want to deal with the default listener, which can send the
  29. // output to various places (Debug stream, Console.Out, ...)
  30. // Trace.Listeners.Remove ("Default");
  31. buffer = new StringWriter ();
  32. listener = new TextWriterTraceListener (buffer, "TestOutput");
  33. Trace.Listeners.Add (listener);
  34. Trace.AutoFlush = true;
  35. }
  36. protected override void TearDown ()
  37. {
  38. Trace.Listeners.Add (new DefaultTraceListener ());
  39. Trace.Listeners.Remove (listener);
  40. }
  41. public static ITest Suite {
  42. get {
  43. return new TestSuite (typeof (TraceTest));
  44. }
  45. }
  46. public void TestTracing ()
  47. {
  48. string value =
  49. "Entering Main" + Environment.NewLine +
  50. "Exiting Main" + Environment.NewLine;
  51. Trace.WriteLine ("Entering Main");
  52. Trace.WriteLine ("Exiting Main");
  53. AssertEquals ("#Tr01", value, buffer.ToString ());
  54. }
  55. public void TestIndent ()
  56. {
  57. Console.Error.WriteLine ("TraceTest.TestIndent");
  58. string value =
  59. "List of errors:" + Environment.NewLine +
  60. " Error 1: File not found" + Environment.NewLine +
  61. " Error 2: Directory not found" + Environment.NewLine +
  62. "End of list of errors" + Environment.NewLine;
  63. Trace.WriteLine ("List of errors:");
  64. Trace.Indent ();
  65. Trace.WriteLine ("Error 1: File not found");
  66. Trace.WriteLine ("Error 2: Directory not found");
  67. Trace.Unindent ();
  68. Trace.WriteLine ("End of list of errors");
  69. AssertEquals ("#In01", value, buffer.ToString());
  70. }
  71. }
  72. }