示例#1
0
        public void TestFetchPointerASync()
        {
            Task.Run(async() =>
            {
                var item1 = new NCMBObject("QueryTest");
                item1.Set("message", "Test message");
                item1.Set("number", 500);
                await item1.Save();

                var item2 = new NCMBObject("QueryTest");
                item2.Set("message", "Test message");
                item2.Set("number", 500);
                item2.Set("obj", item1);
                await item2.Save();

                var query = new NCMBQuery("QueryTest");
                query
                .EqualTo("objectId", item2.Get("objectId"))
                .Include("obj");
                var obj = await query.Fetch();
                Assert.AreEqual(obj.Get("objectId"), item2.Get("objectId"));
                Assert.AreEqual(((NCMBObject)obj.Get("obj")).Get("objectId"), item1.Get("objectId"));

                await obj.Delete();
                await item1.Delete();
            }).GetAwaiter().GetResult();
        }
示例#2
0
        public void TestRelationRemove()
        {
            Task.Run(async() =>
            {
                var item1 = new NCMBObject("RelationTest");
                await item1.Set("name", "item1").Save();
                var item2 = new NCMBObject("RelationTest");
                await item2.Set("name", "item2").Save();

                var relation = new NCMBRelation();
                relation.Add(item1).Add(item2);

                var item3 = new NCMBObject("RelationMaster");
                await item3.Set("relation", relation).Save();

                Assert.NotNull(item3.Get("objectId"));

                relation = new NCMBRelation();
                relation.Remove(item1);
                await item3.Set("relation", relation).Save();
                await item3.Delete();
                await item1.Delete();
                await item2.Delete();
            }).GetAwaiter().GetResult();
        }
示例#3
0
        public void TestFetchWithCount()
        {
            Task.Run(async() =>
            {
                for (var i = 0; i < 5; i++)
                {
                    var item = new NCMBObject("QueryTest");
                    item.Set("message", "Test message");
                    item.Set("number", i);
                    await item.Save();
                }

                var query = new NCMBQuery("QueryTest");
                query.GreaterThan("number", 3);
                var items = await query.Count().FetchAll();
                Assert.AreEqual(1, query.GetCount());
                query = new NCMBQuery("QueryTest");
                query.GreaterThanOrEqualTo("number", 3);
                items = await query.Count().FetchAll();
                Assert.AreEqual(2, query.GetCount());

                query = new NCMBQuery("QueryTest");
                items = await query.FetchAll();
                foreach (var item in items)
                {
                    await item.Delete();
                }
            }).GetAwaiter().GetResult();
        }
示例#4
0
 public void TestFetchLimitASync()
 {
     Task.Run(async() =>
     {
         for (var i = 0; i < 5; i++)
         {
             var item = new NCMBObject("QueryTest");
             item.Set("message", "Test message");
             item.Set("number", 500 + i);
             await item.Save();
         }
         var query = new NCMBQuery("QueryTest");
         query.EqualTo("message", "Test message");
         var results = await query.FetchAll();
         Assert.AreEqual(results.Length, 5);
         query = new NCMBQuery("QueryTest");
         query.EqualTo("message", "Test message").Limit(2);
         results = await query.FetchAll();
         Assert.AreEqual(results.Length, 2);
         query   = new NCMBQuery("QueryTest");
         results = await query.FetchAll();
         foreach (var obj in results)
         {
             await obj.Delete();
         }
     }).GetAwaiter().GetResult();
 }
示例#5
0
 public void TestSaveGetBoolean()
 {
     Task.Run(async() =>
     {
         var message = "Hello, world";
         var item    = new NCMBObject("DataStoreTest");
         item.Set("message", message);
         item.Set("bol1", true);
         item.Set("bol2", false);
         await item.Save();
         Assert.NotNull(item.Get("objectId"));
         await item.Fetch();
         Assert.IsTrue(item.GetBoolean("bol1"));
         Assert.IsTrue(!item.GetBoolean("bol2"));
         await item.Delete();
     }).GetAwaiter().GetResult();
 }
示例#6
0
        public void TestFetchSelect()
        {
            Task.Run(async() =>
            {
                for (var i = 0; i < 5; i++)
                {
                    var item = new NCMBObject("Test");
                    item.Set("message", "Test message");
                    item.Set("number", i);
                    await item.Save();

                    var item2 = new NCMBObject("Test2");
                    item2.Set("message", "Test message");
                    item2.Set("num", i);
                    await item2.Save();
                }

                var q1 = new NCMBQuery("Test");
                var q2 = new NCMBQuery("Test2");

                q2.InString("num", new int[] { 1, 4 });

                var t     = q2.FetchAll();
                var items = await q1.Select("number", "num", q2).FetchAll();
                foreach (var item in items)
                {
                    var num = item.GetInt("number");
                    Assert.IsTrue(num == 4 || num == 1);
                }

                var query = new NCMBQuery("Test");
                items     = await query.FetchAll();
                foreach (var item in items)
                {
                    await item.Delete();
                }
                query = new NCMBQuery("Test2");
                items = await query.FetchAll();
                foreach (var item in items)
                {
                    await item.Delete();
                }
            }).GetAwaiter().GetResult();
        }
        public void TestSetGeoPoint()
        {
            var latitude  = 35.6585805;
            var longitude = 139.7454329;
            var geo       = new NCMBGeoPoint(latitude, longitude);
            var item      = new NCMBObject("Item");

            item.Set("geo", geo);
            var geo1 = (NCMBGeoPoint)item.Get("geo");

            Assert.AreEqual(geo1.Latitude, geo.Latitude);
        }
示例#8
0
 public void TestSaveAndDeleteASync()
 {
     Task.Run(async() =>
     {
         var message = "Hello, world";
         var item    = new NCMBObject("DataStoreTest");
         item.Set("message", message);
         await item.Save();
         Assert.NotNull(item.Get("objectId"));
         Assert.AreEqual(item.Get("message").ToString(), message);
         await item.Delete();
     }).GetAwaiter().GetResult();
 }
 public void TestSaveGeoPoint()
 {
     Task.Run(async() =>
     {
         var latitude  = 35.6585805;
         var longitude = 139.7454329;
         var geo       = new NCMBGeoPoint(latitude, longitude);
         var item      = new NCMBObject("Item");
         item.Set("geo", geo);
         await item.Save();
         Assert.NotNull(item.Get("objectId"));
         await item.Delete();
     }).GetAwaiter().GetResult();
 }
示例#10
0
        public void TestFetchOr()
        {
            Task.Run(async() =>
            {
                for (var i = 0; i < 5; i++)
                {
                    var item = new NCMBObject("QueryTest");
                    item.Set("message", "Test message");
                    item.Set("number", i);
                    await item.Save();
                }

                var q1 = new NCMBQuery("QueryTest");
                var q2 = new NCMBQuery("QueryTest");

                q1.EqualTo("number", 0);
                q2.EqualTo("number", 1);
                var query = new NCMBQuery("QueryTest");
                query.Or(new NCMBQuery[2] {
                    q1, q2
                });
                var items = await query.FetchAll();

                Assert.AreEqual(2, items.Length);
                var num0 = items[0].Get("number") as JValue;
                var num1 = items[1].Get("number") as JValue;

                Assert.AreEqual(0, num0.ToObject <int>());
                Assert.AreEqual(1, num1.ToObject <int>());
                query = new NCMBQuery("QueryTest");
                items = await query.FetchAll();
                foreach (var item in items)
                {
                    await item.Delete();
                }
            }).GetAwaiter().GetResult();
        }
示例#11
0
 public void TestSaveAndDeleteWithAclSync()
 {
     Task.Run(async() =>
     {
         var message = "Hello, world";
         var item    = new NCMBObject("DataStoreTest");
         item.Set("message", message);
         var acl = new NCMBAcl();
         acl.SetPublicReadAccess(true);
         acl.SetPublicWriteAccess(false);
         acl.SetRoleReadAccess("admin", true);
         acl.SetRoleWriteAccess("admin", true);
         item.SetAcl(acl);
         await item.Save();
         Assert.NotNull(item.Get("objectId"));
         Assert.AreEqual(item.Get("message").ToString(), message);
     }).GetAwaiter().GetResult();
 }
示例#12
0
        public void TestRelationFetch()
        {
            Task.Run(async() =>
            {
                var item1 = new NCMBObject("RelationTest");
                await item1.Set("name", "item1").Save();
                var item2 = new NCMBObject("RelationTest");
                await item2.Set("name", "item2").Save();

                var relation = new NCMBRelation();
                relation.Add(item1).Add(item2);

                var item3 = new NCMBObject("RelationMaster");
                await item3.Set("relation", relation).Save();
                Assert.NotNull(item3.Get("objectId"));

                var query = new NCMBQuery("RelationTest");
                var items = await query.RelatedTo(item3, "relation").FetchAll();

                Assert.AreEqual(items.Length, 2);
                Assert.AreEqual(items[0].Get("objectId").ToString(), item1.Get("objectId").ToString());
            }).GetAwaiter().GetResult();
        }
示例#13
0
        public void TestSearchGeoPoints()
        {
            Task.Run(async() =>
            {
                var text = File.ReadAllText("../../yamanote.json");
                var json = JArray.Parse(text);
                foreach (var x in json)
                {
                    var p    = (JObject)x;
                    var geo  = new NCMBGeoPoint((double)p["latitude"], (double)p["longitude"]);
                    var item = new NCMBObject("Station");
                    await item.Set("name", p["name"].ToString()).Set("geo", geo).Save();
                }


                var query = new NCMBQuery("Station");

                var geo1 = new NCMBGeoPoint(35.6585805, 139.7454329);
                var ary  = await query.Limit(5).Near("geo", geo1).FetchAll();

                Assert.AreEqual(5, ary.Length);
                Assert.AreEqual("浜松町", ((NCMBObject)ary[0]).Get("name").ToString());

                var geo2 = new NCMBGeoPoint(35.6654861, 139.7684781);
                var geo3 = new NCMBGeoPoint(35.6799926, 139.7357476);
                query    = new NCMBQuery("Station");
                ary      = await query.WithinSquare("geo", geo2, geo3).FetchAll();

                Assert.AreEqual(2, ary.Length);
                query        = new NCMBQuery("Station");
                var stations = await query.Limit(100).FetchAll();
                foreach (var station in stations)
                {
                    await station.Delete();
                }
            }).GetAwaiter().GetResult();
        }