Example #1
0
        public void ResolveTest()
        {
            var deferred = new Deferred<string, int>();

            bool alwaysHit = false;
            dynamic alwaysArg = null;

            bool doneHit = false;
            string doneArg = null;

            bool failHit = false;

            var promise = deferred.Promise();
            promise.Always((arg) =>
            {
                alwaysHit = true;
                alwaysArg = arg;
            });
            promise.Done((arg) =>
            {
                doneHit = true;
                doneArg = arg;
            });
            promise.Fail(() => failHit = true);

            deferred.Resolve("test");

            Assert.IsTrue(alwaysHit, "Always is hit");
            Assert.AreEqual("test", alwaysArg);

            Assert.IsTrue(doneHit, "Done is hit");
            Assert.AreEqual("test", doneArg);

            Assert.IsFalse(failHit, "Fail is not hit");
        }
Example #2
0
        public void RejectTest()
        {
            var deferred = new Deferred<string, int>();

            bool alwaysHit = false;
            dynamic alwaysArg = null;

            bool doneHit = false;

            bool failHit = false;
            int? failArg = null;

            var promise = deferred.Promise();
            promise.Always((arg) =>
            {
                alwaysHit = true;
                alwaysArg = arg;
            });
            promise.Done(() => doneHit = true);
            promise.Fail((arg) =>
            {
                failHit = true;
                failArg = arg;
            });

            deferred.Reject(1337);

            Assert.IsTrue(alwaysHit, "Always is hit");
            Assert.AreEqual(alwaysArg, 1337);

            Assert.IsFalse(doneHit, "Done is not hit");

            Assert.IsTrue(failHit, "Fail is hit");
            Assert.AreEqual(failArg, 1337);
        }
Example #3
0
    void when_running_in_parallel_with_any()
    {
        Promise<string> p1 = null;
        Promise<string> p2 = null;
        Promise<string> p3 = null;
        Promise<string> p4 = null;
        Promise<string> promise = null;

        context["when at least one promise fulfills"] = () => {
            List<float> eventProgresses = null;

            before = () => {
                p1 = TestHelper.PromiseWithError<string>("error 42", delay);
                p2 = TestHelper.PromiseWithResult("42", delay * 2);
                p3 = TestHelper.PromiseWithResult("43", delay * 3);
                p4 = TestHelper.PromiseWithResult("44", delay * 3);
                eventProgresses = new List<float>();
                promise = Promise.Any(p1, p2, p3, p4);
                promise.OnProgressed += eventProgresses.Add;
                promise.Await();
            };

            it["is fulfilled"] = () => promise.state.should_be(PromiseState.Fulfilled);
            it["first promise to be complete is fulfilled"] = () => p2.state.should_be(PromiseState.Fulfilled);
            it["has result of first complete promise"] = () => promise.result.should_be("42");

            context["progress"] = () => {
                it["calculates progress of promise with highest progress"] = () => {
                    eventProgresses.Count.should_be(1);
                    eventProgresses[0].should_be(1f);
                };

                it["has initial max progress"] = () => {
                    var deferred = new Deferred<object>();
                    deferred.Progress(0.5f);
                    var p = TestHelper.PromiseWithResult<object>("42", delay * 2);
                    var any = Promise.Any(deferred, p);
                    any.progress.should_be(0.5f);
                    deferred.Fulfill(null);
                    any.Await();
                };
            };
        };

        context["when all promises fail"] = () => {
            before = () => {
                p1 = TestHelper.PromiseWithError<string>("error 42", delay);
                p2 = TestHelper.PromiseWithError<string>("error 43", delay * 2);
                p3 = TestHelper.PromiseWithError<string>("error 44", delay * 3);
                promise = Promise.Any(p1, p2, p3);
                promise.Await();
            };

            it["fails"] = () => promise.state.should_be(PromiseState.Failed);
            it["has no result"] = () => promise.result.should_be_null();
            it["has error"] = () => promise.error.should_not_be_null();
        };
    }
Example #4
0
        public void AlwaysCallbackTest()
        {
            CallCounter counter = new CallCounter();
            Deferred<None> d = new Deferred<None>();

            d.Always(p =>
                counter.Always++
            );

            d.Resolve();
            d.Reject();

            Assert.AreEqual(2, counter.Always);
        }
        public Task <IResult> Execute(IStatement sql)
        {
            var deferred = new Deferred <IResult>();

            if (_connection == null)
            {
                deferred.Reject(new Exception("No active connection"));
            }
            else
            {
                sql.Execute(_connection, deferred);
            }

            return(deferred.Task);
        }
Example #6
0
        /// <summary>
        /// This will save game foundation's data as a JSON file on your machine.
        /// This data will persist between play sessions.
        /// This sample only showcases inventories, but this method saves their items, and stats too.
        /// </summary>
        public void Save()
        {
            // Deferred is a struct that helps you track the progress of an asynchronous operation of Game Foundation.
            Deferred saveOperation = m_DataLayer.Save();

            // Check if the operation is already done.
            if (saveOperation.isDone)
            {
                LogSaveOperationCompletion(saveOperation);
            }
            else
            {
                StartCoroutine(WaitForSaveCompletion(saveOperation));
            }
        }
Example #7
0
        public async Task <IActionResult> GetNotifications(DomainId userId, [FromQuery] long version = EtagVersion.Any)
        {
            CheckPermissions(userId);

            var result = await commentsLoader.GetCommentsAsync(userId, version);

            var response = Deferred.Response(() =>
            {
                return(CommentsDto.FromResult(result));
            });

            Response.Headers[HeaderNames.ETag] = result.Version.ToString(CultureInfo.InvariantCulture);

            return(Ok(response));
        }
        public async Task <IActionResult> GetAssetFolders(string app, [FromQuery] DomainId parentId, [FromQuery] AssetFolderScope scope = AssetFolderScope.PathAndItems)
        {
            var(folders, path) = await AsyncHelper.WhenAll(
                GetAssetFoldersAsync(parentId, scope),
                GetAssetPathAsync(parentId, scope));

            var response = Deferred.Response(() =>
            {
                return(AssetFoldersDto.FromAssets(folders, path, Resources));
            });

            Response.Headers[HeaderNames.ETag] = folders.ToEtag();

            return(Ok(response));
        }
Example #9
0
        /// <summary>
        /// Shows a dialog with a message and an ok button
        /// </summary>
        /// <param name="message">the message to show</param>
        /// <returns>a promise that resolves when the dialog is dismissed. The promise never rejects.</returns>
        public static Promise ShowMessage(ConsoleString message)
        {
            var d             = Deferred.Create();
            var buttonPromise = ShowMessage(new DialogButtonOptions()
            {
                Message = message,
                Options = new List <DialogOption>()
                {
                    DialogButtonOptions.OK
                }
            });

            buttonPromise.Then((button) => d.Resolve());
            return(d.Promise);
        }
Example #10
0
 public override void Execute(SQLiteConnection connection, Deferred <IResult> deferred)
 {
     try
     {
         var results = connection.Query <T>(Sql, GetCommandArguments());
         deferred.Resolve(new ResultSet <T>()
         {
             Objects = results
         });
     }
     catch (Exception error)
     {
         deferred.Reject(error);
     }
 }
Example #11
0
    private Promise <string> QueryForAccessToken()
    {
        Deferred <string> deferred = new Deferred <string>();

        // register callback support (required for WebClient)
        if (ServicePointManager.ServerCertificateValidationCallback == null)
        {
            AddCertificateChainValidation();
        }

        // get an access token
        using (WebClient client = new WebClient())
        {
            client.Headers.Add("Ocp-Apim-Subscription-Key", TranslationKey);
            client.UploadDataCompleted += (object sender, UploadDataCompletedEventArgs e) =>
            {
                try
                {
                    if (e.Cancelled)
                    {
                        _status = StatusOptions.failed;
                        deferred.Reject("web call was cancelled.");
                    }
                    else if (e.Error != null)
                    {
                        _status = StatusOptions.failed;
                        deferred.Reject(e.Error.Message);
                    }
                    else
                    {
                        accessToken = System.Text.Encoding.Default.GetString(e.Result);
                        lastToken   = DateTime.Now;
                        deferred.Resolve();
                    }
                }
                catch (Exception ex)
                {
                    _status = StatusOptions.failed;
                    deferred.Reject(ex.Message);
                }
                Reset();
            };
            byte[] buffer = { 0 };
            client.UploadDataAsync(new System.Uri("https://api.cognitive.microsoft.com/sts/v1.0/issueToken"), buffer);
        }

        return(deferred.Promise());
    }
Example #12
0
    /// <summary>
    /// Resolve the returned promise once the predicate evalutes to true
    /// </summary>
    public Promise <object> WaitUntil(Func <TimeData, bool> predicate)
    {
        var promise = new Deferred <object>();

        var wait = new PredicateWait()
        {
            timeStarted    = curTime,
            pendingPromise = promise,
            timeData       = new TimeData(),
            predicate      = predicate
        };

        waiting.Add(wait);

        return(promise);
    }
Example #13
0
        public void ShouldRejectWhenDoneInThenThrows_DeferredWithFailCase()
        {
            var source = new Deferred <TWrapper <int> > ();

            source.Then <TWrapper <int> > (
                _ => {
                throw new Exception();
            },
                _ => {
                return(Promises.Resolved(1.Wrap()));
            })
            .Done(doneCallback.Create()).Fail(failCallback.Create());
            source.Resolve(1.Wrap());
            Assert.That(doneCallback.IsCalled, Is.False);
            Assert.That(failCallback.IsCalled, Is.True);
        }
Example #14
0
        public void InitDeferred(NativeList <DataInstance> instanceList, TileTheme theme)
        {
            sourceType = SourceType.FromTheme;

            meshFilters = null;
            meshes      = null;
            matrices    = null;

            deferred         = true;
            deferredHandler  = new Deferred(instanceList);
            immediateHandler = null;

            SourceMeshData = theme.TileThemeCache.MeshData;

            Inited();
        }
Example #15
0
        public void Init(NativeArray <DataInstance> instanceArray, TileTheme theme)
        {
            sourceType = SourceType.FromTheme;

            meshFilters = null;
            meshes      = null;
            matrices    = null;

            deferred         = false;
            immediateHandler = new Immediate(instanceArray);
            deferredHandler  = null;

            SourceMeshData = theme.TileThemeCache.MeshData;

            Inited();
        }
Example #16
0
        public async Task <IActionResult> GetAsset(string app, DomainId id)
        {
            var asset = await assetQuery.FindAsync(Context, id, ct : HttpContext.RequestAborted);

            if (asset == null)
            {
                return(NotFound());
            }

            var response = Deferred.Response(() =>
            {
                return(AssetDto.FromAsset(asset, Resources));
            });

            return(Ok(response));
        }
Example #17
0
        public async Task <IActionResult> GetApps()
        {
            var userOrClientId  = HttpContext.User.UserOrClientId();
            var userPermissions = HttpContext.Permissions();

            var apps = await appProvider.GetUserApps(userOrClientId, userPermissions);

            var response = Deferred.Response(() =>
            {
                return(apps.Select(a => AppDto.FromApp(a, userOrClientId, userPermissions, appPlansProvider, this)).ToArray());
            });

            Response.Headers[HeaderNames.ETag] = apps.ToEtag();

            return(Ok(response));
        }
Example #18
0
    void Start()
    {
        var d = new Deferred <int>();

        d.action = () => {
            while (d.progress < 1)
            {
                Thread.Sleep(100);
                d.Progress(d.progress + 0.4f);
            }

            return(42);
        };

        d.RunAsync().QueueOnMainThread(null, null, onProgressed);
    }
Example #19
0
        public async Task <IActionResult> GetAssetFolders(string app, [FromQuery] Guid parentId)
        {
            var assetFolders = assetQuery.QueryAssetFoldersAsync(Context, parentId);
            var assetPath    = assetQuery.FindAssetFolderAsync(parentId);

            await Task.WhenAll(assetFolders, assetPath);

            var response = Deferred.Response(() =>
            {
                return(AssetFoldersDto.FromAssets(assetFolders.Result, assetPath.Result, Resources));
            });

            Response.Headers[HeaderNames.ETag] = assetFolders.Result.ToEtag();

            return(Ok(response));
        }
Example #20
0
        public Task InsertWines(Wine[] wines)
        {
            Deferred deferred = Deferred.Create();

            _winesCollection.Insert(wines, null, delegate(Exception error) {
                if (error == null)
                {
                    deferred.Resolve();
                    return;
                }

                deferred.Reject(error);
            });

            return(deferred.Task);
        }
Example #21
0
        public async Task <IActionResult> GetContent(string app, string schema, DomainId id)
        {
            var content = await contentQuery.FindAsync(Context, schema, id, ct : HttpContext.RequestAborted);

            if (content == null)
            {
                return(NotFound());
            }

            var response = Deferred.Response(() =>
            {
                return(ContentDto.FromDomain(content, Resources));
            });

            return(Ok(response));
        }
        public async Task <IActionResult> GetAsset(string app, Guid id)
        {
            var asset = await assetQuery.FindAssetAsync(Context, id);

            if (asset == null)
            {
                return(NotFound());
            }

            var response = Deferred.Response(() =>
            {
                return(AssetDto.FromAsset(asset, this, app));
            });

            return(Ok(response));
        }
Example #23
0
        public Task <int> CountWines()
        {
            Deferred <int> deferred = Deferred.Create <int>();

            _winesCollection.Count(delegate(Exception error, int count) {
                if (error == null)
                {
                    deferred.Resolve(count);
                    return;
                }

                deferred.Reject(error);
            });

            return(deferred.Task);
        }
Example #24
0
 public void Execute(SQLiteConnection connection, Deferred <IResult> deferred)
 {
     try
     {
         var data    = Objects?.ToArray() ?? new T[] { };
         var results = connection.InsertAll(data, typeof(T));
         deferred.Resolve(new RowsAffected()
         {
             Count = results
         });
     }
     catch (Exception error)
     {
         deferred.Reject(error);
     }
 }
Example #25
0
        public void WhenAll()
        {
            Deferred test  = new Deferred();
            Deferred test2 = new Deferred();

            message = null;
            IPromise all = When.All(test, test2)
                           .Then((Action <string>)Resolved);

            test.Resolve();

            Assert.AreNotEqual("resolved", message);

            test2.Resolve();
            Assert.AreEqual("resolved", message);
        }
Example #26
0
        public void WhenAllTimeout()
        {
            Deferred test  = new Deferred();
            Deferred test2 = new Deferred();

            IPromise all = When.All(500, test, test2)
                           .Then((Action <string>)Resolved, (Action <string>)Rejected);

            message = null;
            Assert.IsNull(message);
            System.Threading.Thread.Sleep(200);
            Assert.IsNull(message);
            System.Threading.Thread.Sleep(400);

            Assert.AreEqual("rejected", message);
        }
Example #27
0
        public async Task <IActionResult> GetAssetFolders(string app, [FromQuery] DomainId parentId)
        {
            var(folders, path) =
                await AsyncHelper.WhenAll(
                    assetQuery.QueryAssetFoldersAsync(Context, parentId),
                    assetQuery.FindAssetFolderAsync(Context.App.Id, parentId)
                    );

            var response = Deferred.Response(() =>
            {
                return(AssetFoldersDto.FromAssets(folders, path, Resources));
            });

            Response.Headers[HeaderNames.ETag] = folders.ToEtag();

            return(Ok(response));
        }
Example #28
0
        public void ShouldRejectWhenFailInThenThrows()
        {
            var source = new Deferred <TWrapper <int> > ();

            source.Then <TWrapper <int> > (
                _ => {
                return(Promises.Resolved(1.Wrap()));
            },
                _ => {
                throw new Exception("expected");
            })
            .Done(doneCallback.Create()).Fail(failCallback.Create());
            source.Reject(new Exception("NOT expected"));
            Assert.That(doneCallback.IsCalled, Is.False);
            Assert.That(failCallback.IsCalled, Is.True);
            Assert.That(failCallback.Exception.Message, Is.EqualTo("expected"));
        }
        public Task <IDatabase> Connect(string connectionString)
        {
            var deferred = new Deferred <IDatabase>();

            try
            {
                _connection = new SQLiteConnection(connectionString);
                deferred.Resolve(this);
            }
            catch (Exception error)
            {
                _connection = null;
                deferred.Reject(error);
            }

            return(deferred.Task);
        }
Example #30
0
        public async Task <IActionResult> GetContents(string app, string name, [FromQuery] string?ids = null, [FromQuery] string?q = null)
        {
            var schema = await contentQuery.GetSchemaOrThrowAsync(Context, name);

            var contents = await contentQuery.QueryAsync(Context, name,
                                                         Q.Empty
                                                         .WithIds(ids)
                                                         .WithJsonQuery(q)
                                                         .WithODataQuery(Request.QueryString.ToString()));

            var response = Deferred.AsyncResponse(async() =>
            {
                return(await ContentsDto.FromContentsAsync(contents, Context, this, schema, contentWorkflow));
            });

            return(Ok(response));
        }
Example #31
0
        public Promise <T> Create(List <Promise <T> > promises)
        {
            if (promises.Count == 0)
            {
                return(Promises.Disposed <T> ());
            }

            nonResolvedCount = 0;
            size             = promises.Count;
            deferred         = new Deferred <T>();

            foreach (var each in promises)
            {
                ObservePromise(each);
            }
            return(deferred);
        }
Example #32
0
        public Task <object> ExecuteRequest(ApiRequest request)
        {
            ApiRequestObject requestObject = new ApiRequestObject(request);

            object result = _app.Scripts.Execute(_path, GetScriptPath(request), "request", requestObject);

            if (Script.IsNullOrUndefined(result) == false)
            {
                Task <object> taskResult = result as Task <object>;
                if (taskResult != null)
                {
                    return(taskResult);
                }
            }

            return(Deferred.Create <object>(result).Task);
        }
        public void Load()
        {
            GameFoundationSdk.Uninitialize();

            if (_dataLayer?.persistence == null)
            {
                Debug.LogError("DataLayer is null.");
                return;
            }

            Deferred def = GameFoundationSdk.Initialize(_dataLayer);

            if (def.isDone)
            {
                if (def.isFulfilled)
                {
                    _onInitOrLoadComplete?.Invoke();
                    OnInitOrLoadComplete?.Invoke();
                }
                else
                {
                    Debug.LogError(def.error.Message);
                    _onInitOrLoadFail?.Invoke();
                }
            }
            else
            {
                IEnumerator Routine(Deferred aDef)
                {
                    yield return(aDef.Wait());

                    if (aDef.isFulfilled)
                    {
                        _onInitOrLoadComplete?.Invoke();
                        OnInitOrLoadComplete?.Invoke();
                    }
                    else
                    {
                        Debug.LogError(aDef.error.Message);
                        _onInitOrLoadFail?.Invoke();
                    }
                }

                StartCoroutine(Routine(def));
            }
        }
Example #34
0
    private Promise <CUnit> SaveApiToDatabase()
    {
        Debug.Log("SaveApiToDatabase called");
        var promise = new Deferred <CUnit>();

        promise.Then <CUnit>(_ =>
        {
            Debug.Log("db saved");
            return(null);
        }, _ =>
        {
            Debug.Log("db is not saved");
            return(null);
        });
        promise.Reject(new SystemException());
        return(promise);
    }
Example #35
0
        public void FailCallbackTest()
        {
            CallCounter counter = new CallCounter();
            Deferred<None> d = new Deferred<None>();

            d.Done(p =>
                counter.Done++
            ).Fail(p =>
                counter.Fail++
            ).Progress(p =>
                counter.Progress++
            );

            d.Reject();

            Assert.AreEqual(0, counter.Done);
            Assert.AreEqual(1, counter.Fail);
            Assert.AreEqual(0, counter.Progress);
        }
Example #36
0
        public void GetProgressTest()
        {
            CallCounter counter = new CallCounter();
            Deferred<System.String> d = new Deferred<System.String>();

            d.Progress(p => {
                Assert.AreEqual(0.5f, p.ProgressValue);
                counter.Progress++;
            });

            d.Notify(0.5f);
            Assert.AreEqual(1, counter.Progress);
        }
Example #37
0
        public void GetResultTest()
        {
            CallCounter counter = new CallCounter();
            Deferred<System.String> d = new Deferred<System.String>();

            d.Done(p => {
                Assert.AreEqual("UniDeffered", p.GetResult<System.String>());
                counter.Done++;
            });

            d.Resolve("UniDeffered");
            Assert.AreEqual(1, counter.Done);
        }
Example #38
0
        public void StateTest()
        {
            Deferred<None> d = new Deferred<None>();
            Assert.AreEqual(StateType.Pending, d.State);

            d.Resolve();
            Assert.AreEqual(StateType.Resolved, d.State);

            d.Reject();
            Assert.AreEqual(StateType.Rejected, d.State);
        }
Example #39
0
		/// <summary>
		/// Executes the callback of the deferred in timeout milliseconds.
		/// result is the first parameter of the first callback in the deferred.
		/// </summary>
		/// <param name="deferred">
		/// A <see cref="Deferred"/>
		/// </param>
		/// <param name="result">
		/// A <see cref="System.Object"/>
		/// </param>
		/// <param name="timeout">
		/// A <see cref="System.Int32"/>
		/// </param>
		public void CallLater(Deferred deferred, object result, int timeout)
		{
			this._callLaterItems.Add((timeout * TimeSpan.TicksPerMillisecond) + DateTime.Now.Ticks, new CallLaterItem(deferred, result));
		}
Example #40
0
        public void ResolveFinishedTest()
        {
            var deferred = new Deferred();
            deferred.Resolve();
            var promise = deferred.Promise();

            bool alwaysHit = false;
            bool doneHit = false;
            bool failHit = false;

            promise.Always(() => alwaysHit = true);
            promise.Done(() => doneHit = true);
            promise.Fail(() => failHit = true);

            Assert.IsTrue(alwaysHit, "Always is hit");
            Assert.IsTrue(doneHit, "Done is hit");
            Assert.IsFalse(failHit, "Fail is not hit");
        }
    void when_running_in_parallel_with_collect()
    {
        Promise<object> p1 = null;
        Promise<object> p2 = null;
        Promise<object[]> promise = null;
        List<float> eventProgresses = null;

        context["when running with a promise that fulfills and one that fails"] = () => {
            before = () => {
                eventProgresses = new List<float>();
                p1 = TestHelper.PromiseWithError<object>("error 42", delay * 2);
                p2 = TestHelper.PromiseWithResult<object>("42", delay);
                promise = Promise.Collect(p1, p2);
                promise.OnProgressed += eventProgresses.Add;
                promise.Await();
            };

            it["is fulfilled"] = () => promise.state.should_be(PromiseState.Fulfilled);
            it["has progressed 100%"] = () => promise.progress.should_be(1f);
            it["has result"] = () => promise.result.should_not_be_null();
            it["has no error"] = () => promise.error.should_be_null();
            it["has no thread assigned"] = () => promise.thread.should_be_null();
            it["has results at correct index"] = () => {
                (promise.result[0]).should_be_null();
                (promise.result[1]).should_be("42");
            };

            it["calls progress"] = () => {
                eventProgresses.Count.should_be(2);
                eventProgresses[0].should_be(0.5f);
                eventProgresses[1].should_be(1f);
            };

            it["has initial progress"] = () => {
                var deferred = new Deferred<object>();
                deferred.Progress(0.5f);
                p2 = TestHelper.PromiseWithResult<object>("42", delay);
                var collect = Promise.Collect(deferred, p2);
                collect.progress.should_be(0.25f);
                deferred.Fulfill(null);
                collect.Await();
            };
        };

        context["when all promises fail"] = () => {
            before = () => {
                eventProgresses = new List<float>();
                p1 = TestHelper.PromiseWithError<object>("error 42", delay * 2);
                p2 = TestHelper.PromiseWithError<object>("error 43", delay);
                promise = Promise.Collect(p1, p2);
                promise.OnProgressed += eventProgresses.Add;
                promise.Await();
            };

            it["progresses"] = () => {
                eventProgresses.Count.should_be(2);
                eventProgresses[0].should_be(0.5f);
                eventProgresses[1].should_be(1f);
            };
        };
    }
Example #42
0
        public void NextCallBackTest()
        {
            CallCounter counter = new CallCounter();
            Deferred<None> d = new Deferred<None>();

            d.Done(p =>
                counter.Done++
            ).Next<None>(df => {
                Assert.AreEqual(1, counter.Done);
                counter.Next++;
                df.Reject();
            }).Fail(p =>
                counter.Fail++
            ).Next<None>(df =>
                counter.Next++
            );

            d.Resolve();
            Assert.AreEqual(1, counter.Done);
            Assert.AreEqual(1, counter.Fail);
            Assert.AreEqual(1, counter.Next);
        }
Example #43
0
        public void GetErrorTest()
        {
            CallCounter counter = new CallCounter();
            Deferred<System.String> d = new Deferred<System.String>();

            d.Fail(p => {
                Assert.AreEqual("UniDeffered", p.Error);
                counter.Fail++;
            });

            d.Reject("UniDeffered");
            Assert.AreEqual(1, counter.Fail);
        }
Example #44
0
			public CallLaterItem(Deferred deferred, object result)
			{
				this.deferred = deferred;
				this.result = result;
			}