PageRenderTime 42ms CodeModel.GetById 21ms RepoModel.GetById 1ms app.codeStats 0ms

/Main/Testing/Rxx.UnitTests/Interactive/TraceIdentityTests - System.Diagnostics.TraceSouce.cs

#
C# | 204 lines | 144 code | 60 blank | 0 comment | 10 complexity | 3ae10bb4fec9adf932426880ded577e3 MD5 | raw file
  1. using System;
  2. using System.Linq;
  3. using Microsoft.VisualStudio.TestTools.UnitTesting;
  4. namespace Rxx.UnitTests.Interactive
  5. {
  6. public partial class TraceIdentityTests : RxxTraceTests
  7. {
  8. [TestMethod]
  9. public void IxTraceSourceIdentity()
  10. {
  11. var source = CreateTraceSource();
  12. var xs = Enumerable.Range(0, 5);
  13. for (int i = 0; i < 3; i++)
  14. {
  15. xs.TraceIdentity(source).ForEach();
  16. string id = GetCurrentId();
  17. AssertEqual(Listener.Messages, Concat(
  18. Enumerable.Range(0, 5).Select(value => TraceDefaults.DefaultOnNext(id, value)),
  19. TraceDefaults.DefaultOnCompleted(id)));
  20. Listener.Clear();
  21. }
  22. }
  23. [TestMethod]
  24. public void IxTraceSourceIdentityOnNext()
  25. {
  26. var source = CreateTraceSource();
  27. var xs = Enumerable.Range(0, 5);
  28. for (int i = 0; i < 3; i++)
  29. {
  30. xs.TraceIdentityOnNext(source).ForEach();
  31. string id = GetCurrentId();
  32. AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => TraceDefaults.DefaultOnNext(id, value)));
  33. Listener.Clear();
  34. }
  35. }
  36. [TestMethod]
  37. public void IxTraceSourceIdentityOnNextFormat()
  38. {
  39. var source = CreateTraceSource();
  40. var xs = Enumerable.Range(0, 5);
  41. for (int i = 0; i < 3; i++)
  42. {
  43. xs.TraceIdentityOnNext(source, "OnNext: {0}={1}").ForEach();
  44. string id = GetCurrentId();
  45. AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => "OnNext: " + id + "=" + value));
  46. Listener.Clear();
  47. }
  48. }
  49. [TestMethod]
  50. public void IxTraceSourceIdentityOnNextLazyMessage()
  51. {
  52. var source = CreateTraceSource();
  53. var xs = Enumerable.Range(0, 5);
  54. for (int i = 0; i < 3; i++)
  55. {
  56. xs.TraceIdentityOnNext(source, (oId, value) => "OnNext: " + oId + "=" + value).ForEach();
  57. string id = GetCurrentId();
  58. AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => "OnNext: " + id + "=" + value));
  59. Listener.Clear();
  60. }
  61. }
  62. [TestMethod]
  63. public void IxTraceSourceIdentityOnError()
  64. {
  65. var source = CreateTraceSource();
  66. var ex = new RxxMockException("Error");
  67. var xs = EnumerableEx.Throw<int>(ex);
  68. for (int i = 0; i < 3; i++)
  69. {
  70. xs.TraceIdentityOnError(source).Catch(Enumerable.Empty<int>()).ForEach();
  71. string id = GetCurrentId();
  72. AssertEqual(Listener.Messages, TraceDefaults.DefaultOnError(id, ex));
  73. Listener.Clear();
  74. }
  75. }
  76. [TestMethod]
  77. public void IxTraceSourceIdentityOnErrorFormat()
  78. {
  79. var source = CreateTraceSource();
  80. var ex = new RxxMockException("Error");
  81. var xs = EnumerableEx.Throw<int>(ex);
  82. for (int i = 0; i < 3; i++)
  83. {
  84. xs.TraceIdentityOnError(source, "OnError: {0}={1}").Catch(Enumerable.Empty<int>()).ForEach();
  85. string id = GetCurrentId();
  86. AssertEqual(Listener.Messages, "OnError: " + id + "=" + ex.ToString());
  87. Listener.Clear();
  88. }
  89. }
  90. [TestMethod]
  91. public void IxTraceSourceIdentityOnErrorLazyMessage()
  92. {
  93. var source = CreateTraceSource();
  94. var ex = new RxxMockException("Error");
  95. var xs = EnumerableEx.Throw<int>(ex);
  96. for (int i = 0; i < 3; i++)
  97. {
  98. xs.TraceIdentityOnError(source, (oId, error) => "OnError: " + oId + "=" + error.Message).Catch(Enumerable.Empty<int>()).ForEach();
  99. string id = GetCurrentId();
  100. AssertEqual(Listener.Messages, "OnError: " + id + "=" + ex.Message);
  101. Listener.Clear();
  102. }
  103. }
  104. [TestMethod]
  105. public void IxTraceSourceIdentityOnCompleted()
  106. {
  107. var source = CreateTraceSource();
  108. var xs = Enumerable.Range(0, 5);
  109. for (int i = 0; i < 3; i++)
  110. {
  111. xs.TraceIdentityOnCompleted(source).ForEach();
  112. string id = GetCurrentId();
  113. AssertEqual(Listener.Messages, TraceDefaults.DefaultOnCompleted(id));
  114. Listener.Clear();
  115. }
  116. }
  117. [TestMethod]
  118. public void IxTraceSourceIdentityOnCompletedFormat()
  119. {
  120. var source = CreateTraceSource();
  121. var xs = Enumerable.Range(0, 5);
  122. for (int i = 0; i < 3; i++)
  123. {
  124. xs.TraceIdentityOnCompleted(source, "OnCompleted: {0}").ForEach();
  125. string id = GetCurrentId();
  126. AssertEqual(Listener.Messages, "OnCompleted: " + id);
  127. Listener.Clear();
  128. }
  129. }
  130. [TestMethod]
  131. public void IxTraceSourceIdentityOnCompletedLazyMessage()
  132. {
  133. var source = CreateTraceSource();
  134. var xs = Enumerable.Range(0, 5);
  135. for (int i = 0; i < 3; i++)
  136. {
  137. xs.TraceIdentityOnCompleted(source, oId => "OnCompleted: " + oId).ForEach();
  138. string id = GetCurrentId();
  139. AssertEqual(Listener.Messages, "OnCompleted: " + id);
  140. Listener.Clear();
  141. }
  142. }
  143. }
  144. }