PageRenderTime 60ms CodeModel.GetById 32ms RepoModel.GetById 0ms app.codeStats 0ms

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

#
C# | 225 lines | 155 code | 70 blank | 0 comment | 10 complexity | 7e1258737d3e7e0e44fe8d4f79d5257f 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 TraceIdentityTests : RxxTraceTests
  8. {
  9. [TestMethod]
  10. public void RxTestTraceIdentity()
  11. {
  12. AddTraceListener();
  13. var xs = Observable.Range(0, 5);
  14. for (int i = 0; i < 3; i++)
  15. {
  16. xs.TraceIdentity().Run();
  17. string id = GetCurrentId();
  18. AssertEqual(Listener.Messages, Concat(
  19. Enumerable.Range(0, 5).Select(value => TraceDefaults.DefaultOnNext(id, value)),
  20. TraceDefaults.DefaultOnCompleted(id)));
  21. Listener.Clear();
  22. }
  23. RemoveTraceListener();
  24. }
  25. [TestMethod]
  26. public void RxTestTraceIdentityOnNext()
  27. {
  28. AddTraceListener();
  29. var xs = Observable.Range(0, 5);
  30. for (int i = 0; i < 3; i++)
  31. {
  32. xs.TraceIdentityOnNext().Run();
  33. string id = GetCurrentId();
  34. AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => TraceDefaults.DefaultOnNext(id, value)));
  35. Listener.Clear();
  36. }
  37. RemoveTraceListener();
  38. }
  39. [TestMethod]
  40. public void RxTestTraceIdentityOnNextFormat()
  41. {
  42. AddTraceListener();
  43. var xs = Observable.Range(0, 5);
  44. for (int i = 0; i < 3; i++)
  45. {
  46. xs.TraceIdentityOnNext("OnNext: {0}={1}").Run();
  47. string id = GetCurrentId();
  48. AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => "OnNext: " + id + "=" + value));
  49. Listener.Clear();
  50. }
  51. RemoveTraceListener();
  52. }
  53. [TestMethod]
  54. public void RxTestTraceIdentityOnNextLazyMessage()
  55. {
  56. AddTraceListener();
  57. var xs = Observable.Range(0, 5);
  58. for (int i = 0; i < 3; i++)
  59. {
  60. xs.TraceIdentityOnNext((oId, value) => "OnNext: " + oId + "=" + value).Run();
  61. string id = GetCurrentId();
  62. AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => "OnNext: " + id + "=" + value));
  63. Listener.Clear();
  64. }
  65. RemoveTraceListener();
  66. }
  67. [TestMethod]
  68. public void RxTestTraceIdentityOnError()
  69. {
  70. AddTraceListener();
  71. var ex = new Exception("Error");
  72. var xs = Observable.Throw<int>(ex);
  73. for (int i = 0; i < 3; i++)
  74. {
  75. xs.TraceIdentityOnError().Run(_ => { }, __ => { });
  76. string id = GetCurrentId();
  77. AssertEqual(Listener.Messages, TraceDefaults.DefaultOnError(id, ex));
  78. Listener.Clear();
  79. }
  80. RemoveTraceListener();
  81. }
  82. [TestMethod]
  83. public void RxTestTraceIdentityOnErrorFormat()
  84. {
  85. AddTraceListener();
  86. var ex = new Exception("Error");
  87. var xs = Observable.Throw<int>(ex);
  88. for (int i = 0; i < 3; i++)
  89. {
  90. xs.TraceIdentityOnError("OnError: {0}={1}").Run(_ => { }, __ => { });
  91. string id = GetCurrentId();
  92. AssertEqual(Listener.Messages, "OnError: " + id + "=" + ex.ToString());
  93. Listener.Clear();
  94. }
  95. RemoveTraceListener();
  96. }
  97. [TestMethod]
  98. public void RxTestTraceIdentityOnErrorLazyMessage()
  99. {
  100. AddTraceListener();
  101. var ex = new Exception("Error");
  102. var xs = Observable.Throw<int>(ex);
  103. for (int i = 0; i < 3; i++)
  104. {
  105. xs.TraceIdentityOnError((oId, error) => "OnError: " + oId + "=" + error.Message).Run(_ => { }, __ => { });
  106. string id = GetCurrentId();
  107. AssertEqual(Listener.Messages, "OnError: " + id + "=" + ex.Message);
  108. Listener.Clear();
  109. }
  110. RemoveTraceListener();
  111. }
  112. [TestMethod]
  113. public void RxTestTraceIdentityOnCompleted()
  114. {
  115. AddTraceListener();
  116. var xs = Observable.Range(0, 5);
  117. for (int i = 0; i < 3; i++)
  118. {
  119. xs.TraceIdentityOnCompleted().Run();
  120. string id = GetCurrentId();
  121. AssertEqual(Listener.Messages, TraceDefaults.DefaultOnCompleted(id));
  122. Listener.Clear();
  123. }
  124. RemoveTraceListener();
  125. }
  126. [TestMethod]
  127. public void RxTestTraceIdentityOnCompletedFormat()
  128. {
  129. AddTraceListener();
  130. var xs = Observable.Range(0, 5);
  131. for (int i = 0; i < 3; i++)
  132. {
  133. xs.TraceIdentityOnCompleted("OnCompleted: {0}").Run();
  134. string id = GetCurrentId();
  135. AssertEqual(Listener.Messages, "OnCompleted: " + id);
  136. Listener.Clear();
  137. }
  138. RemoveTraceListener();
  139. }
  140. [TestMethod]
  141. public void RxTestTraceIdentityOnCompletedLazyMessage()
  142. {
  143. AddTraceListener();
  144. var xs = Observable.Range(0, 5);
  145. for (int i = 0; i < 3; i++)
  146. {
  147. xs.TraceIdentityOnCompleted(oId => "OnCompleted: " + oId).Run();
  148. string id = GetCurrentId();
  149. AssertEqual(Listener.Messages, "OnCompleted: " + id);
  150. Listener.Clear();
  151. }
  152. RemoveTraceListener();
  153. }
  154. }
  155. }