public void Test_0003_GeoBox_empty_key()
        {
            KiiGeoPoint northEast = new KiiGeoPoint(70.00, 100);
            KiiGeoPoint southWest = new KiiGeoPoint(71.00, 102);

            KiiClause.GeoBox("", northEast, southWest);
        }
        public void Test_0002_GeoBox_null_key()
        {
            KiiGeoPoint northEast = new KiiGeoPoint(70.00, 100);
            KiiGeoPoint southWest = new KiiGeoPoint(71.00, 102);

            KiiClause.GeoBox(null, northEast, southWest);
        }
        public void Test_0005_GeoBoxQuery()
        {
            KiiBucket   bucket = testUser.Bucket("aBucket");
            KiiObject   obj    = bucket.NewKiiObject();
            KiiGeoPoint point  = new KiiGeoPoint(35.667983, 139.739356);

            obj.SetGeoPoint("myloc", point);
            obj.Save();
            //not in the box
            KiiObject   obj2   = bucket.NewKiiObject();
            KiiGeoPoint point2 = new KiiGeoPoint();

            obj2.SetGeoPoint("myloc", point2);
            obj2.Save();

            KiiGeoPoint sw = new KiiGeoPoint(35.52105, 139.699402);
            KiiGeoPoint ne = new KiiGeoPoint(36.069082, 140.07843);

            KiiClause clause = KiiClause.GeoBox("myloc", ne, sw);
            KiiQuery  query  = new KiiQuery(clause);
            KiiQueryResult <KiiObject> result = bucket.Query(query);

            Assert.AreEqual(result.Count, 1);
            KiiObject   retObj = result [0];
            KiiGeoPoint retPoint;

            retPoint = retObj.GetGeoPoint("myloc");
            Assert.AreEqual(point.Latitude, retPoint.Latitude);
            Assert.AreEqual(point.Longitude, retPoint.Longitude);
        }
        public void Test_0001_GeoBox_Valid_Parameters()
        {
            KiiGeoPoint northEast = new KiiGeoPoint(70.00, 100);
            KiiGeoPoint southWest = new KiiGeoPoint(71.00, 102);

            KiiClause  c      = KiiClause.GeoBox("box", northEast, southWest);
            JsonObject clause = c.ToJson();
            JsonObject box    = clause.GetJsonObject("box");
            JsonObject ne     = box.GetJsonObject("ne");
            JsonObject sw     = box.GetJsonObject("sw");

            Assert.AreEqual(clause.GetString("type"), "geobox");
            Assert.AreEqual(clause.GetString("field"), "box");
            Assert.AreEqual(ne.GetDouble("lat"), northEast.Latitude);
            Assert.AreEqual(ne.GetDouble("lon"), northEast.Longitude);
            Assert.AreEqual(sw.GetDouble("lat"), southWest.Latitude);
            Assert.AreEqual(sw.GetDouble("lon"), southWest.Longitude);
        }
        public void NotGeoBoxTest()
        {
            KiiBucket bucket = KiiUser.CurrentUser.Bucket("my_bucket");
            KiiObject obj1   = bucket.NewKiiObject();

            obj1["name"] = "kii";
            obj1.SetGeoPoint("location", new KiiGeoPoint(35.668387, 139.739495));
            obj1.Save();
            KiiObject obj2 = bucket.NewKiiObject();

            obj2["name"] = "TDL";
            obj2.SetGeoPoint("location", new KiiGeoPoint(35.633114, 139.880405));
            obj2.Save();

            KiiQuery query = new KiiQuery(KiiClause.Not(KiiClause.GeoBox("location", new KiiGeoPoint(35.669494, 139.741727), new KiiGeoPoint(35.660934, 139.734957))));

            query.SortByAsc("name");

            KiiQueryResult <KiiObject> results = bucket.Query(query);

            Assert.AreEqual(1, results.Count);
            Assert.AreEqual("TDL", results[0].GetString("name"));
        }