/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
- using System;
- using System.Linq;
- using System.Reactive.Linq;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
-
- namespace Rxx.UnitTests.Reactive
- {
- public partial class TraceTests : RxxTraceTests
- {
- [TestMethod]
- public void RxTraceSource()
- {
- var source = CreateTraceSource();
-
- var xs = Observable.Range(0, 5);
-
- xs.Trace(source).ForEach();
-
- AssertEqual(Listener.Messages, Concat(
- Enumerable.Range(0, 5).Select(value => TraceDefaults.DefaultOnNext(value)),
- TraceDefaults.DefaultOnCompleted()));
- }
-
- [TestMethod]
- public void RxTraceSourceOnNext()
- {
- var source = CreateTraceSource();
-
- var xs = Observable.Range(0, 5);
-
- xs.TraceOnNext(source).ForEach();
-
- AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => TraceDefaults.DefaultOnNext(value)));
- }
-
- [TestMethod]
- public void RxTraceSourceOnNextFormat()
- {
- var source = CreateTraceSource();
-
- var xs = Observable.Range(0, 5);
-
- xs.TraceOnNext(source, "OnNext: {0}").ForEach();
-
- AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => "OnNext: " + value));
- }
-
- [TestMethod]
- public void RxTraceSourceOnNextLazyMessage()
- {
- var source = CreateTraceSource();
-
- var xs = Observable.Range(0, 5);
-
- xs.TraceOnNext(source, value => "OnNext: " + value).ForEach();
-
- AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => "OnNext: " + value));
- }
-
- [TestMethod]
- public void RxTraceSourceOnError()
- {
- var source = CreateTraceSource();
-
- var ex = new Exception("Error");
- var xs = Observable.Throw<int>(ex);
-
- xs.TraceOnError(source).ForEach(_ => { }, __ => { });
-
- AssertEqual(Listener.Messages, TraceDefaults.DefaultOnError(ex));
- }
-
- [TestMethod]
- public void RxTraceSourceOnErrorFormat()
- {
- var source = CreateTraceSource();
-
- var ex = new Exception("Error");
- var xs = Observable.Throw<int>(ex);
-
- xs.TraceOnError(source, "OnError: {0}").ForEach(_ => { }, __ => { });
-
- AssertEqual(Listener.Messages, "OnError: " + ex.ToString());
- }
-
- [TestMethod]
- public void RxTraceSourceOnErrorLazyMessage()
- {
- var source = CreateTraceSource();
-
- var ex = new Exception("Error");
- var xs = Observable.Throw<int>(ex);
-
- xs.TraceOnError(source, error => "OnError: " + error.Message).ForEach(_ => { }, __ => { });
-
- AssertEqual(Listener.Messages, "OnError: " + ex.Message);
- }
-
- [TestMethod]
- public void RxTraceSourceOnCompleted()
- {
- var source = CreateTraceSource();
-
- var xs = Observable.Range(0, 5);
-
- xs.TraceOnCompleted(source).ForEach();
-
- AssertEqual(Listener.Messages, TraceDefaults.DefaultOnCompleted());
- }
-
- [TestMethod]
- public void RxTraceSourceOnCompletedFormat()
- {
- var source = CreateTraceSource();
-
- var xs = Observable.Range(0, 5);
-
- xs.TraceOnCompleted(source, "OnCompleted").ForEach();
-
- AssertEqual(Listener.Messages, "OnCompleted");
- }
-
- [TestMethod]
- public void RxTraceSourceOnCompletedLazyMessage()
- {
- var source = CreateTraceSource();
-
- var xs = Observable.Range(0, 5);
-
- xs.TraceOnCompleted(source, () => "OnCompleted").ForEach();
-
- AssertEqual(Listener.Messages, "OnCompleted");
- }
- }
- }