PageRenderTime 21ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/Rx 1.1.10425/Testing/Rxx.UnitTests/Reactive/TraceTests - System.Diagnostics.TraceSouce.cs

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