Esempio n. 1
0
        public async void OnChangeGetAsync()
        {
            var expected = new Todo {
                name = "Execute PUSH4GET1", priority = 2
            };
            var changes  = 0;
            var observer = _client.OnChangeGetAsync <Todo>("fakepath/OnGetAsync/", (events, arg) =>
            {
                Interlocked.Increment(ref changes);
                Assert.NotNull(arg);
                Assert.AreEqual(expected.name, arg.name);
            });

            await _client.SetAsync("fakepath/OnGetAsync/", expected);

            await Task.Delay(2000);

            await _client.SetAsync("fakepath/OnGetAsync", new Todo { name = "PUSH4GET1", priority = 2 });

            await Task.Delay(2000);

            try
            {
                if (changes == 3)
                {
                    Assert.Inconclusive();
                }

                Assert.AreEqual(2, changes);
            }
            finally
            {
                observer.Result.Cancel();
            }
        }
Esempio n. 2
0
        public async void OnChangeGetAsync()
        {
            var expected = new Todo {
                name = "Execute PUSH4GET1", priority = 2
            };
            var changes  = 0;
            var observer = _client.OnChangeGetAsync <Todo>("fakepath/OnGetAsync/", (events, arg) =>
            {
                Interlocked.Increment(ref changes);
                Assert.NotNull(arg);
                Assert.AreEqual(expected.name, arg.name);
            });

            await _client.SetAsync("fakepath/OnGetAsync/", expected);

            Thread.Sleep(4000);

            await _client.SetAsync("fakepath/OnGetAsync/name", "PUSH4GET1");

            Thread.Sleep(4000);

            Assert.AreEqual(2, changes);
            observer.Result.Cancel();
        }
Esempio n. 3
0
 public Task <EventRootResponse <T> > OnChange <T>(string path, ValueRootAddedEventHandler <T> added = null)
 {
     return(_firebaseClient.OnChangeGetAsync(path, added));
 }