private void CanExecuteRecursive()
        {
            var remoteTaskServer = Substitute.For <IRemoteTaskServer>();

            var taskRunner = new TaskRunner(remoteTaskServer);
            var remoteTask = Substitute.For <RemoteTask>("RemoteTask");
            var node       = new TaskExecutionNode(null, remoteTask);

            taskRunner.ExecuteRecursive(node);

            remoteTaskServer.Received().TaskStarting(Arg.Any <RemoteTask>());
            remoteTaskServer.Received().TaskFinished(Arg.Any <RemoteTask>(), Arg.Any <string>(), TaskResult.Success);
        }