PageRenderTime 57ms CodeModel.GetById 30ms RepoModel.GetById 0ms app.codeStats 0ms

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

#
C# | 155 lines | 105 code | 50 blank | 0 comment | 0 complexity | da3a6b406e32c4c5466c7d094e72965d MD5 | raw file
  1. using System;
  2. using System.Linq;
  3. using Microsoft.VisualStudio.TestTools.UnitTesting;
  4. namespace Rxx.UnitTests.Interactive
  5. {
  6. [TestClass]
  7. public partial class TraceTests : RxxTraceTests
  8. {
  9. [TestMethod]
  10. public void IxTestTrace()
  11. {
  12. AddTraceListener();
  13. var xs = Enumerable.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 IxTestTraceOnNext()
  22. {
  23. AddTraceListener();
  24. var xs = Enumerable.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 IxTestTraceOnNextFormat()
  31. {
  32. AddTraceListener();
  33. var xs = Enumerable.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 IxTestTraceOnNextLazyMessage()
  40. {
  41. AddTraceListener();
  42. var xs = Enumerable.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 IxTestTraceOnError()
  49. {
  50. AddTraceListener();
  51. var ex = new RxxMockException("Error");
  52. var xs = EnumerableEx.Throw<int>(ex);
  53. xs.TraceOnError().Catch(Enumerable.Empty<int>()).Run();
  54. AssertEqual(Listener.Messages, TraceDefaults.DefaultOnError(ex));
  55. RemoveTraceListener();
  56. }
  57. [TestMethod]
  58. public void IxTestTraceOnErrorFormat()
  59. {
  60. AddTraceListener();
  61. var ex = new RxxMockException("Error");
  62. var xs = EnumerableEx.Throw<int>(ex);
  63. xs.TraceOnError("OnError: {0}").Catch(Enumerable.Empty<int>()).Run();
  64. AssertEqual(Listener.Messages, "OnError: " + ex.ToString());
  65. RemoveTraceListener();
  66. }
  67. [TestMethod]
  68. public void IxTestTraceOnErrorLazyMessage()
  69. {
  70. AddTraceListener();
  71. var ex = new RxxMockException("Error");
  72. var xs = EnumerableEx.Throw<int>(ex);
  73. xs.TraceOnError(error => "OnError: " + error.Message).Catch(Enumerable.Empty<int>()).Run();
  74. AssertEqual(Listener.Messages, "OnError: " + ex.Message);
  75. RemoveTraceListener();
  76. }
  77. [TestMethod]
  78. public void IxTestTraceOnCompleted()
  79. {
  80. AddTraceListener();
  81. var xs = Enumerable.Range(0, 5);
  82. xs.TraceOnCompleted().Run();
  83. AssertEqual(Listener.Messages, TraceDefaults.DefaultOnCompleted());
  84. RemoveTraceListener();
  85. }
  86. [TestMethod]
  87. public void IxTestTraceOnCompletedFormat()
  88. {
  89. AddTraceListener();
  90. var xs = Enumerable.Range(0, 5);
  91. xs.TraceOnCompleted("OnCompleted").Run();
  92. AssertEqual(Listener.Messages, "OnCompleted");
  93. RemoveTraceListener();
  94. }
  95. [TestMethod]
  96. public void IxTestTraceOnCompletedLazyMessage()
  97. {
  98. AddTraceListener();
  99. var xs = Enumerable.Range(0, 5);
  100. xs.TraceOnCompleted(() => "OnCompleted").Run();
  101. AssertEqual(Listener.Messages, "OnCompleted");
  102. RemoveTraceListener();
  103. }
  104. }
  105. }