コード例 #1
0
        public Task <CommunicationData> SetResolution(int resolution)
        {
            var requestArray = TraceDefaults.SetResolution(resolution);
            var status       = communication.ProcessCommunicationRequest(requestArray);

            return(status);
        }
コード例 #2
0
        public Task <CommunicationData> GetFirstAvailableSampleIndex()
        {
            var requestArray = TraceDefaults.GetFirstAvailableSamples();
            var status       = communication.ProcessCommunicationRequest(requestArray);

            return(status);
        }
コード例 #3
0
 /// <summary>
 /// Constructs a new instance of the <see cref="TraceObserver{T}"/> class for tracing OnNext, OnError and OnCompleted calls.
 /// </summary>
 /// <param name="nextFormat">The format in which values will be traced.  A single replacement token {0} is supported.</param>
 /// <param name="errorFormat">The format in which the error will be traced.  A single replacement token {0} is supported.</param>
 /// <param name="completedMessage">The message to be traced for the completed notification.</param>
 public TraceObserver(string nextFormat, string errorFormat, string completedMessage)
     : this(TraceDefaults.GetFormatOnNext <T>(nextFormat), TraceDefaults.GetFormatOnError(errorFormat), TraceDefaults.GetMessageOnCompleted(completedMessage))
 {
     Contract.Requires(nextFormat != null);
     Contract.Requires(errorFormat != null);
     Contract.Requires(completedMessage != null);
 }
コード例 #4
0
 /// <summary>
 ///     Constructs a new instance of the <see cref="IdentifiedTraceObserver{T}" /> class for tracing OnNext and OnError
 ///     calls.
 /// </summary>
 /// <param name="nextFormat">The format in which values will be traced.  A single replacement token {0} is supported.</param>
 /// <param name="errorFormat">The format in which the error will be traced.  A single replacement token {0} is supported.</param>
 public IdentifiedTraceObserver(string nextFormat, string errorFormat)
     : this(TraceDefaults.GetIdentityFormatOnNext <T>(nextFormat),
            TraceDefaults.GetIdentityFormatOnError(errorFormat))
 {
     Contract.Requires(nextFormat != null);
     Contract.Requires(errorFormat != null);
 }
コード例 #5
0
        public Task <CommunicationData> StopTrace()
        {
            var requestArray = TraceDefaults.SetStopCommand();
            var status       = communication.ProcessCommunicationRequest(requestArray);

            return(status);
        }
コード例 #6
0
        public Task <CommunicationData> SetNumberOfSamples(int sampleNumber)
        {
            var requestArray = TraceDefaults.SetNumberOfSamples(sampleNumber);
            var status       = communication.ProcessCommunicationRequest(requestArray);

            return(status);
        }
コード例 #7
0
 /// <summary>
 /// Constructs a new instance of the <see cref="IdentifiedTraceObserver{T}"/> class for tracing OnNext, OnError and OnCompleted calls.
 /// </summary>
 /// <param name="trace">The <see cref="TraceSource"/> to be associated with the trace messages.</param>
 /// <param name="nextFormat">The format in which values will be traced.  A single replacement token {0} is supported.</param>
 /// <param name="errorFormat">The format in which the error will be traced.  A single replacement token {0} is supported.</param>
 /// <param name="completedMessage">The message to be traced for the completed notification.</param>
 public IdentifiedTraceObserver(TraceSource trace, string nextFormat, string errorFormat, string completedMessage)
     : this(trace, TraceDefaults.GetIdentityFormatOnNext <T>(nextFormat), TraceDefaults.GetIdentityFormatOnError(errorFormat), TraceDefaults.GetIdentityMessageOnCompleted(completedMessage))
 {
     Contract.Requires(trace != null);
     Contract.Requires(nextFormat != null);
     Contract.Requires(errorFormat != null);
     Contract.Requires(completedMessage != null);
 }
コード例 #8
0
        public static IObservable <T> TraceOnError <T>(this IObservable <T> source, string format)
        {
            Contract.Requires(source != null);
            Contract.Requires(format != null);
            Contract.Ensures(Contract.Result <IObservable <T> >() != null);

            return(source.Do(new TraceObserver <T>(_ => null, TraceDefaults.GetFormatOnError(format))));
        }
コード例 #9
0
        /// <summary>
        /// Returns an observable that traces a call to OnCompleted from the specified observable
        /// and includes an auto-generated identifier in the trace output.
        /// </summary>
        /// <typeparam name="T">The object that provides notification information.</typeparam>
        /// <param name="source">The observable from which the completed notification will be traced.</param>
        /// <param name="message">The message to be traced for the completed notification.</param>
        /// <returns>An observable that traces a call to OnCompleted.</returns>
        public static IObservable <T> TraceIdentityOnCompleted <T>(this IObservable <T> source, string message)
        {
            Contract.Requires(source != null);
            Contract.Requires(message != null);
            Contract.Ensures(Contract.Result <IObservable <T> >() != null);

            return(source.Do(new IdentifiedTraceObserver <T>((a, b) => null, TraceDefaults.GetIdentityMessageOnCompleted(message))));
        }
コード例 #10
0
        /// <summary>
        /// Returns an observable that traces OnNext calls from the specified observable
        /// and includes an auto-generated identifier in the trace output.
        /// </summary>
        /// <typeparam name="T">The object that provides notification information.</typeparam>
        /// <param name="source">The observable from which notifications will be traced.</param>
        /// <param name="format">The format in which values will be traced.  A single replacement token {0} is supported.</param>
        /// <returns>An observable that traces OnNext notifications.</returns>
        public static IObservable <T> TraceIdentityOnNext <T>(this IObservable <T> source, string format)
        {
            Contract.Requires(source != null);
            Contract.Requires(format != null);
            Contract.Ensures(Contract.Result <IObservable <T> >() != null);

            return(source.Do(new IdentifiedTraceObserver <T>(TraceDefaults.GetIdentityFormatOnNext <T>(format))));
        }
コード例 #11
0
        public static IObservable <T> TraceOnCompleted <T>(this IObservable <T> source, TraceSource trace, string message)
        {
            Contract.Requires(source != null);
            Contract.Requires(trace != null);
            Contract.Requires(message != null);
            Contract.Ensures(Contract.Result <IObservable <T> >() != null);

            return(source.Do(new TraceObserver <T>(trace, _ => null, TraceDefaults.GetMessageOnCompleted(message))));
        }
コード例 #12
0
        public void RxTraceSourceOnCompleted()
        {
            var source = CreateTraceSource();

            var xs = Observable.Range(0, 5);

            xs.TraceOnCompleted(source).Subscribe();

            AssertEqual(Listener.Messages, TraceDefaults.DefaultOnCompleted());
        }
コード例 #13
0
        public void IxTraceSourceOnCompleted()
        {
            var source = CreateTraceSource();

            var xs = Enumerable.Range(0, 5);

            xs.TraceOnCompleted(source).ForEach();

            AssertEqual(Listener.Messages, TraceDefaults.DefaultOnCompleted());
        }
コード例 #14
0
        public void RxTraceSourceOnNext()
        {
            var source = CreateTraceSource();

            var xs = Observable.Range(0, 5);

            xs.TraceOnNext(source).Subscribe();

            AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => TraceDefaults.DefaultOnNext(value)));
        }
コード例 #15
0
        public void RxTraceSourceOnError()
        {
            var source = CreateTraceSource();

            var ex = new Exception("Error");
            var xs = Observable.Throw <int>(ex);

            xs.TraceOnError(source).Subscribe(_ => { }, __ => { });

            AssertEqual(Listener.Messages, TraceDefaults.DefaultOnError(ex));
        }
コード例 #16
0
        public void IxTraceSourceOnError()
        {
            var source = CreateTraceSource();

            var ex = new RxxMockException("Error");
            var xs = EnumerableEx.Throw <int>(ex);

            xs.TraceOnError(source).Catch <int, Exception>(_ => Enumerable.Empty <int>()).ForEach();

            AssertEqual(Listener.Messages, TraceDefaults.DefaultOnError(ex));
        }
コード例 #17
0
ファイル: TraceEnumerable - Trace.cs プロジェクト: rikace/Rxx
        public static IEnumerable <T> TraceOnCompleted <T>(this IEnumerable <T> source, string message)
        {
            Contract.Requires(source != null);
            Contract.Requires(message != null);
            Contract.Ensures(Contract.Result <IEnumerable <T> >() != null);

            var enumerable = source.Do(new TraceObserver <T>(_ => null, TraceDefaults.GetMessageOnCompleted(message)));

            Contract.Assume(enumerable != null);

            return(enumerable);
        }
コード例 #18
0
        public void RxTraceOnCompleted()
        {
            AddTraceListener();

            var xs = Observable.Range(0, 5);

            xs.TraceOnCompleted().Subscribe();

            AssertEqual(Listener.Messages, TraceDefaults.DefaultOnCompleted());

            RemoveTraceListener();
        }
コード例 #19
0
        public void IxTraceSource()
        {
            var source = CreateTraceSource();

            var xs = Enumerable.Range(0, 5);

            xs.Trace(source).ForEach();

            AssertEqual(Listener.Messages, Concat(
                            Enumerable.Range(0, 5).Select(value => TraceDefaults.DefaultOnNext(value)),
                            TraceDefaults.DefaultOnCompleted()));
        }
コード例 #20
0
ファイル: TraceEnumerable - Trace.cs プロジェクト: rikace/Rxx
        public static IEnumerable <T> TraceOnNext <T>(this IEnumerable <T> source, string format)
        {
            Contract.Requires(source != null);
            Contract.Requires(format != null);
            Contract.Ensures(Contract.Result <IEnumerable <T> >() != null);

            var enumerable = source.Do(new TraceObserver <T>(TraceDefaults.GetFormatOnNext <T>(format)));

            Contract.Assume(enumerable != null);

            return(enumerable);
        }
コード例 #21
0
        public void IxTraceOnNext()
        {
            AddTraceListener();

            var xs = Enumerable.Range(0, 5);

            xs.TraceOnNext().ForEach();

            AssertEqual(Listener.Messages, Enumerable.Range(0, 5).Select(value => TraceDefaults.DefaultOnNext(value)));

            RemoveTraceListener();
        }
コード例 #22
0
        public void IxTraceOnCompleted()
        {
            AddTraceListener();

            var xs = Enumerable.Range(0, 5);

            xs.TraceOnCompleted().ForEach();

            AssertEqual(Listener.Messages, TraceDefaults.DefaultOnCompleted());

            RemoveTraceListener();
        }
コード例 #23
0
        public void RxTraceOnError()
        {
            AddTraceListener();

            var ex = new Exception("Error");
            var xs = Observable.Throw <int>(ex);

            xs.TraceOnError().Subscribe(_ => { }, __ => { });

            AssertEqual(Listener.Messages, TraceDefaults.DefaultOnError(ex));

            RemoveTraceListener();
        }
        /// <summary>
        /// Returns an enumerable that traces OnNext calls from the specified enumerable
        /// and includes an auto-generated identifier in the trace output.
        /// </summary>
        /// <typeparam name="T">Type of object to be enumerated.</typeparam>
        /// <param name="source">The enumerable from which notifications will be traced.</param>
        /// <param name="trace">The <see cref="TraceSource"/> to be associated with the trace messages.</param>
        /// <param name="format">The format in which values will be traced.  A single replacement token {0} is supported.</param>
        /// <returns>An enumerable that traces OnNext notifications.</returns>
        public static IEnumerable <T> TraceIdentityOnNext <T>(this IEnumerable <T> source, TraceSource trace, string format)
        {
            Contract.Requires(source != null);
            Contract.Requires(trace != null);
            Contract.Requires(format != null);
            Contract.Ensures(Contract.Result <IEnumerable <T> >() != null);

            var enumerable = source.Do(new IdentifiedTraceObserver <T>(trace, TraceDefaults.GetIdentityFormatOnNext <T>(format)));

            Contract.Assert(enumerable != null);

            return(enumerable);
        }
コード例 #25
0
        public void RxTrace()
        {
            AddTraceListener();

            var xs = Observable.Range(0, 5);

            xs.Trace().Subscribe();

            AssertEqual(Listener.Messages, Concat(
                            Enumerable.Range(0, 5).Select(value => TraceDefaults.DefaultOnNext(value)),
                            TraceDefaults.DefaultOnCompleted()));

            RemoveTraceListener();
        }
コード例 #26
0
        public void RxTraceSourceIdentityOnCompleted()
        {
            var source = CreateTraceSource();

            var xs = Observable.Range(0, 5);

            for (int i = 0; i < 3; i++)
            {
                xs.TraceIdentityOnCompleted(source).Subscribe();

                string id = GetCurrentId();

                AssertEqual(Listener.Messages, TraceDefaults.DefaultOnCompleted(id));

                Listener.Clear();
            }
        }
コード例 #27
0
        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).Subscribe(_ => { }, __ => { });

                string id = GetCurrentId();

                AssertEqual(Listener.Messages, TraceDefaults.DefaultOnError(id, ex));

                Listener.Clear();
            }
        }
        public void IxTraceSourceIdentityOnError()
        {
            var source = CreateTraceSource();

            var ex = new RxxMockException("Error");
            var xs = EnumerableEx.Throw <int>(ex);

            for (int i = 0; i < 3; i++)
            {
                xs.TraceIdentityOnError(source).Catch <int, Exception>(_ => Enumerable.Empty <int>()).ForEach();

                string id = GetCurrentId();

                AssertEqual(Listener.Messages, TraceDefaults.DefaultOnError(id, ex));

                Listener.Clear();
            }
        }
コード例 #29
0
        public void RxTraceSourceIdentity()
        {
            var source = CreateTraceSource();

            var xs = Observable.Range(0, 5);

            for (int i = 0; i < 3; i++)
            {
                xs.TraceIdentity(source).Subscribe();

                string id = GetCurrentId();

                AssertEqual(Listener.Messages, Concat(
                                Enumerable.Range(0, 5).Select(value => TraceDefaults.DefaultOnNext(id, value)),
                                TraceDefaults.DefaultOnCompleted(id)));

                Listener.Clear();
            }
        }
コード例 #30
0
        public void IxTraceIdentityOnCompleted()
        {
            AddTraceListener();

            var xs = Enumerable.Range(0, 5);

            for (int i = 0; i < 3; i++)
            {
                xs.TraceIdentityOnCompleted().ForEach();

                string id = GetCurrentId();

                AssertEqual(Listener.Messages, TraceDefaults.DefaultOnCompleted(id));

                Listener.Clear();
            }

            RemoveTraceListener();
        }