/Rx 1.1.10425/Testing/Rxx.UnitTests/Reactive/TraceIdentityTests - System.Diagnostics.TraceSouce.cs
C# | 205 lines | 145 code | 60 blank | 0 comment | 10 complexity | 44b97170090abd8fbd1469f8bd4a699b MD5 | raw file
- using System;
- using System.Linq;
- using System.Reactive.Linq;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
-
- namespace Rxx.UnitTests.Reactive
- {
- public partial class TraceIdentityTests : RxxTraceTests
- {
- [TestMethod]
- public void RxTraceSourceIdentity()
- {
- var source = CreateTraceSource();
-
- var xs = Observable.Range(0, 5);
-
- for (int i = 0; i < 3; i++)
- {
- xs.TraceIdentity(source).ForEach();
-
- string id = GetCurrentId();
-
- AssertEqual(Listener.Messages, Concat(
- Enumerable.Range(0, 5).Select(value => TraceDefaults.DefaultOnNext(id, value)),
- TraceDefaults.DefaultOnCompleted(id)));
-
- Listener.Clear();
- }
- }
-
- [TestMethod]
- public void RxTraceSourceIdentityOnNext()
- {
- var source = CreateTraceSource();
-
- var xs = Observable.Range(0, 5);
-
- for (int i = 0; i < 3; i++)
- {
- xs.TraceIdentityOnNext(source).ForEach();
-
- string id = GetCurrentId();
-
- AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => TraceDefaults.DefaultOnNext(id, value)));
-
- Listener.Clear();
- }
- }
-
- [TestMethod]
- public void RxTraceSourceIdentityOnNextFormat()
- {
- var source = CreateTraceSource();
-
- var xs = Observable.Range(0, 5);
-
- for (int i = 0; i < 3; i++)
- {
- xs.TraceIdentityOnNext(source, "OnNext: {0}={1}").ForEach();
-
- string id = GetCurrentId();
-
- AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => "OnNext: " + id + "=" + value));
-
- Listener.Clear();
- }
- }
-
- [TestMethod]
- public void RxTraceSourceIdentityOnNextLazyMessage()
- {
- var source = CreateTraceSource();
-
- var xs = Observable.Range(0, 5);
-
- for (int i = 0; i < 3; i++)
- {
- xs.TraceIdentityOnNext(source, (oId, value) => "OnNext: " + oId + "=" + value).ForEach();
-
- string id = GetCurrentId();
-
- AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => "OnNext: " + id + "=" + value));
-
- Listener.Clear();
- }
- }
-
- [TestMethod]
- public void RxTraceSourceIdentityOnError()
- {
- var source = CreateTraceSource();
-
- var ex = new Exception("Error");
- var xs = Observable.Throw<int>(ex);
-
- for (int i = 0; i < 3; i++)
- {
- xs.TraceIdentityOnError(source).ForEach(_ => { }, __ => { });
-
- string id = GetCurrentId();
-
- AssertEqual(Listener.Messages, TraceDefaults.DefaultOnError(id, ex));
-
- Listener.Clear();
- }
- }
-
- [TestMethod]
- public void RxTraceSourceIdentityOnErrorFormat()
- {
- var source = CreateTraceSource();
-
- var ex = new Exception("Error");
- var xs = Observable.Throw<int>(ex);
-
- for (int i = 0; i < 3; i++)
- {
- xs.TraceIdentityOnError(source, "OnError: {0}={1}").ForEach(_ => { }, __ => { });
-
- string id = GetCurrentId();
-
- AssertEqual(Listener.Messages, "OnError: " + id + "=" + ex.ToString());
-
- Listener.Clear();
- }
- }
-
- [TestMethod]
- public void RxTraceSourceIdentityOnErrorLazyMessage()
- {
- var source = CreateTraceSource();
-
- var ex = new Exception("Error");
- var xs = Observable.Throw<int>(ex);
-
- for (int i = 0; i < 3; i++)
- {
- xs.TraceIdentityOnError(source, (oId, error) => "OnError: " + oId + "=" + error.Message).ForEach(_ => { }, __ => { });
-
- string id = GetCurrentId();
-
- AssertEqual(Listener.Messages, "OnError: " + id + "=" + ex.Message);
-
- Listener.Clear();
- }
- }
-
- [TestMethod]
- public void RxTraceSourceIdentityOnCompleted()
- {
- var source = CreateTraceSource();
-
- var xs = Observable.Range(0, 5);
-
- for (int i = 0; i < 3; i++)
- {
- xs.TraceIdentityOnCompleted(source).ForEach();
-
- string id = GetCurrentId();
-
- AssertEqual(Listener.Messages, TraceDefaults.DefaultOnCompleted(id));
-
- Listener.Clear();
- }
- }
-
- [TestMethod]
- public void RxTraceSourceIdentityOnCompletedFormat()
- {
- var source = CreateTraceSource();
-
- var xs = Observable.Range(0, 5);
-
- for (int i = 0; i < 3; i++)
- {
- xs.TraceIdentityOnCompleted(source, "OnCompleted: {0}").ForEach();
-
- string id = GetCurrentId();
-
- AssertEqual(Listener.Messages, "OnCompleted: " + id);
-
- Listener.Clear();
- }
- }
-
- [TestMethod]
- public void RxTraceSourceIdentityOnCompletedLazyMessage()
- {
- var source = CreateTraceSource();
-
- var xs = Observable.Range(0, 5);
-
- for (int i = 0; i < 3; i++)
- {
- xs.TraceIdentityOnCompleted(source, oId => "OnCompleted: " + oId).ForEach();
-
- string id = GetCurrentId();
-
- AssertEqual(Listener.Messages, "OnCompleted: " + id);
-
- Listener.Clear();
- }
- }
- }
- }