public Task TestLogOut() { var controller = new ParseCurrentUserController(); var user = new ParseUser(); return controller.SetAsync(user, CancellationToken.None).OnSuccess(_ => { Assert.AreEqual(user, controller.CurrentUser); return controller.ExistsAsync(CancellationToken.None); }).Unwrap() .OnSuccess(t => { Assert.IsTrue(t.Result); return controller.LogOutAsync(CancellationToken.None); }).Unwrap().OnSuccess(_ => controller.GetAsync(CancellationToken.None)).Unwrap() .OnSuccess(t => { Assert.IsNull(t.Result); return controller.ExistsAsync(CancellationToken.None); }).Unwrap() .OnSuccess(t => { Assert.IsFalse(t.Result); }); }