Beispiel #1
0
        public void TestCollectionNextPage()
        {
            RunAndAwait(() =>
            {
                var nextPageEntities = new List <NextPageEntityAsync>();
                var latch            = new CountdownEvent(20);
                for (int i = 10; i < 30; i++)
                {
                    var entity = new NextPageEntityAsync {
                        Name = "name#" + i, Age = 20 + i
                    };
                    Backendless.Persistence.Save(entity,
                                                 new AsyncCallback <NextPageEntityAsync>(response => latch.Signal(), fault =>
                    {
                        for (int j = 0; j < latch.CurrentCount; j++)
                        {
                            latch.Signal();
                        }
                    }));
                    if (i >= 20)
                    {
                        nextPageEntities.Add(entity);
                    }
                }
                latch.Wait();

                var dataQuery = new BackendlessDataQuery(new QueryOptions(10, 0, "Age"));
                Backendless.Persistence.Of <NextPageEntityAsync>()
                .Find(dataQuery,
                      new ResponseCallback <BackendlessCollection <NextPageEntityAsync> >(this)
                {
                    ResponseHandler =
                        response =>
                        response.NextPage(
                            new ResponseCallback <BackendlessCollection <NextPageEntityAsync> >(this)
                    {
                        ResponseHandler = collection =>
                        {
                            Assert.IsNotNull(collection, "Next page returned a null object");
                            Assert.IsNotNull(collection.GetCurrentPage(),
                                             "Next page contained a wrong data size");
                            Assert.AreEqual(nextPageEntities.Count, collection.GetCurrentPage().Count,
                                            "Next page returned a wrong size");

                            foreach (NextPageEntityAsync entity in nextPageEntities)
                            {
                                Assert.IsTrue(collection.GetCurrentPage().Contains(entity),
                                              "Server result didn't contain expected entity");
                            }

                            CountDown();
                        }
                    })
                });
            });
        }
Beispiel #2
0
    public void TestCollectionNextPage()
    {
      RunAndAwait( () =>
        {
          var nextPageEntities = new List<NextPageEntityAsync>();
          var latch = new CountdownEvent( 20 );
          for( int i = 10; i < 30; i++ )
          {
            var entity = new NextPageEntityAsync {Name = "name#" + i, Age = 20 + i};
            Backendless.Persistence.Save( entity,
                                          new AsyncCallback<NextPageEntityAsync>( response => latch.Signal(), fault =>
                                            {
                                              for( int j = 0; j < latch.CurrentCount; j++ )
                                                latch.Signal();
                                            } ) );
            if( i >= 20 )
              nextPageEntities.Add( entity );
          }
          latch.Wait();

          var dataQuery = new BackendlessDataQuery( new QueryOptions( 10, 0, "Age" ) );
          Backendless.Persistence.Of<NextPageEntityAsync>()
                     .Find( dataQuery,
                            new ResponseCallback<BackendlessCollection<NextPageEntityAsync>>( this )
                              {
                                ResponseHandler =
                                  response =>
                                  response.NextPage(
                                    new ResponseCallback<BackendlessCollection<NextPageEntityAsync>>( this )
                                      {
                                        ResponseHandler = collection =>
                                          {
                                            Assert.IsNotNull( collection, "Next page returned a null object" );
                                            Assert.IsNotNull( collection.GetCurrentPage(),
                                                              "Next page contained a wrong data size" );
                                            Assert.AreEqual( nextPageEntities.Count, collection.GetCurrentPage().Count,
                                                             "Next page returned a wrong size" );

                                            foreach( NextPageEntityAsync entity in nextPageEntities )
                                              Assert.IsTrue( collection.GetCurrentPage().Contains( entity ),
                                                             "Server result didn't contain expected entity" );

                                            CountDown();
                                          }
                                      } )
                              } );
        } );
    }