PageRenderTime 24ms CodeModel.GetById 0ms RepoModel.GetById 1ms app.codeStats 0ms

/Rx 1.0.2856/Testing/Rxx.UnitTests/Reactive/TraceTests - System.Diagnostics.Trace.cs

#
C# | 155 lines | 105 code | 50 blank | 0 comment | 0 complexity | 31960c64a76bafa08ab74c0c791c78ec MD5 | raw file
  1. using System;
  2. using System.Linq;
  3. using Microsoft.VisualStudio.TestTools.UnitTesting;
  4. namespace Rxx.UnitTests.Reactive
  5. {
  6. [TestClass]
  7. public partial class TraceTests : RxxTraceTests
  8. {
  9. [TestMethod]
  10. public void RxTestTrace()
  11. {
  12. AddTraceListener();
  13. var xs = Observable.Range(0, 5);
  14. xs.Trace().Run();
  15. AssertEqual(Listener.Messages, Concat(
  16. Enumerable.Range(0, 5).Select(value => TraceDefaults.DefaultOnNext(value)),
  17. TraceDefaults.DefaultOnCompleted()));
  18. RemoveTraceListener();
  19. }
  20. [TestMethod]
  21. public void RxTestTraceOnNext()
  22. {
  23. AddTraceListener();
  24. var xs = Observable.Range(0, 5);
  25. xs.TraceOnNext().Run();
  26. AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => TraceDefaults.DefaultOnNext(value)));
  27. RemoveTraceListener();
  28. }
  29. [TestMethod]
  30. public void RxTestTraceOnNextFormat()
  31. {
  32. AddTraceListener();
  33. var xs = Observable.Range(0, 5);
  34. xs.TraceOnNext("OnNext: {0}").Run();
  35. AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => "OnNext: " + value));
  36. RemoveTraceListener();
  37. }
  38. [TestMethod]
  39. public void RxTestTraceOnNextLazyMessage()
  40. {
  41. AddTraceListener();
  42. var xs = Observable.Range(0, 5);
  43. xs.TraceOnNext(value => "OnNext: " + value).Run();
  44. AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => "OnNext: " + value));
  45. RemoveTraceListener();
  46. }
  47. [TestMethod]
  48. public void RxTestTraceOnError()
  49. {
  50. AddTraceListener();
  51. var ex = new Exception("Error");
  52. var xs = Observable.Throw<int>(ex);
  53. xs.TraceOnError().Run(_ => { }, __ => { });
  54. AssertEqual(Listener.Messages, TraceDefaults.DefaultOnError(ex));
  55. RemoveTraceListener();
  56. }
  57. [TestMethod]
  58. public void RxTestTraceOnErrorFormat()
  59. {
  60. AddTraceListener();
  61. var ex = new Exception("Error");
  62. var xs = Observable.Throw<int>(ex);
  63. xs.TraceOnError("OnError: {0}").Run(_ => { }, __ => { });
  64. AssertEqual(Listener.Messages, "OnError: " + ex.ToString());
  65. RemoveTraceListener();
  66. }
  67. [TestMethod]
  68. public void RxTestTraceOnErrorLazyMessage()
  69. {
  70. AddTraceListener();
  71. var ex = new Exception("Error");
  72. var xs = Observable.Throw<int>(ex);
  73. xs.TraceOnError(error => "OnError: " + error.Message).Run(_ => { }, __ => { });
  74. AssertEqual(Listener.Messages, "OnError: " + ex.Message);
  75. RemoveTraceListener();
  76. }
  77. [TestMethod]
  78. public void RxTestTraceOnCompleted()
  79. {
  80. AddTraceListener();
  81. var xs = Observable.Range(0, 5);
  82. xs.TraceOnCompleted().Run();
  83. AssertEqual(Listener.Messages, TraceDefaults.DefaultOnCompleted());
  84. RemoveTraceListener();
  85. }
  86. [TestMethod]
  87. public void RxTestTraceOnCompletedFormat()
  88. {
  89. AddTraceListener();
  90. var xs = Observable.Range(0, 5);
  91. xs.TraceOnCompleted("OnCompleted").Run();
  92. AssertEqual(Listener.Messages, "OnCompleted");
  93. RemoveTraceListener();
  94. }
  95. [TestMethod]
  96. public void RxTestTraceOnCompletedLazyMessage()
  97. {
  98. AddTraceListener();
  99. var xs = Observable.Range(0, 5);
  100. xs.TraceOnCompleted(() => "OnCompleted").Run();
  101. AssertEqual(Listener.Messages, "OnCompleted");
  102. RemoveTraceListener();
  103. }
  104. }
  105. }