private SyncItemMocker SetupFireStatusEvent(Guid id, StatusUpdateLevel level, bool complete, Exception ex, string message)
        {
            var syncItemMocker = new SyncItemMocker().ApplyId(id).ApplyEpisodeTitle("EpisodeTitle");
            EventHandler <StatusUpdateEventArgs> statusEventHandler = null;
            StatusUpdateEventArgs statusArgs =
                ex != null
                ? new StatusUpdateEventArgs(level, message, ex, complete, syncItemMocker.GetMockedSyncItem())
                : new StatusUpdateEventArgs(level, message, complete, syncItemMocker.GetMockedSyncItem());

            A.CallTo(() =>
                     MockSyncItemToEpisodeDownloaderTaskConverter.ConvertItemsToTasks
                     (
                         A <IList <ISyncItem> > .Ignored,
                         A <EventHandler <StatusUpdateEventArgs> > .Ignored,
                         A <EventHandler <ProgressEventArgs> > .Ignored
                     ))
            .ReturnsLazily((IList <ISyncItem> items, EventHandler <StatusUpdateEventArgs> statusEvent, EventHandler <ProgressEventArgs> progressEvent) =>
            {
                statusEventHandler = statusEvent;
                return(new IEpisodeDownloader[0]);
            });
            A.CallTo(() => MockTaskPool.RunAllTasks(A <int> .Ignored, A <ITask[]> .Ignored))
            .Invokes(() =>
            {
                statusEventHandler?.Invoke(this, statusArgs);
            });
            return(syncItemMocker);
        }
예제 #2
0
 /// <summary>
 /// Construct a new message event arg.
 /// </summary>
 public StatusUpdateEventArgs(StatusUpdateLevel level, string message, Exception exception, Boolean complete, Object state)
 {
     _message   = message;
     _level     = level;
     _completed = complete;
     _userState = state;
     _excpetion = exception;
 }
 /// <summary>
 /// Construct a new message event arg.
 /// </summary>
 public StatusUpdateEventArgs(StatusUpdateLevel level, string message, Exception exception)
 {
     _message   = message;
     _level     = level;
     _excpetion = exception;
 }
 /// <summary>
 /// Construct a new message event arg.
 /// </summary>
 public StatusUpdateEventArgs(StatusUpdateLevel level, string message)
 {
     _message   = message;
     _level     = level;
     _excpetion = null;
 }
예제 #5
0
 /// <summary>
 /// Construct a new message event arg.
 /// </summary>
 public StatusUpdateEventArgs(StatusUpdateLevel level, string message, Boolean complete, Object state) : this(level, message, null, complete, state)
 {
 }