#11
authoradam <adamansky@gmail.com>
Wed, 12 Dec 2012 16:34:48 +0000 (23:34 +0700)
committeradam <adamansky@gmail.com>
Wed, 12 Dec 2012 16:34:48 +0000 (23:34 +0700)
tcejdb/testejdb/t2.c

index 8913b96..7c95512 100644 (file)
@@ -3263,17 +3263,35 @@ void test$addToSet() {
     CU_ASSERT_PTR_NOT_NULL_FATAL(q1);
     uint32_t count = 0;
     TCXSTR *log = tcxstrnew();
-    TCLIST *q1res = ejdbqryexecute(coll, q1, &count, 0, log);
+    ejdbqryexecute(coll, q1, &count, JBQRYCOUNT, log);
+    CU_ASSERT_PTR_NOT_NULL(strstr(TCXSTRPTR(log), "UPDATING MODE: YES"));
+    CU_ASSERT_PTR_NOT_NULL(strstr(TCXSTRPTR(log), "RS COUNT: 1"));
+    CU_ASSERT_PTR_NOT_NULL(strstr(TCXSTRPTR(log), "RS SIZE: 0"));
+    //fprintf(stderr, "%s", TCXSTRPTR(log));
+    bson_destroy(&bsq1);
+    tcxstrdel(log);
+    ejdbquerydel(q1);
 
+    //check updated  data
+    bson_init_as_query(&bsq1);
+    bson_append_string(&bsq1, "name", "Антонов");
+    bson_append_finish_object(&bsq1);
+    bson_finish(&bsq1);
+    CU_ASSERT_FALSE_FATAL(bsq1.err);
+
+    q1 = ejdbcreatequery(jb, &bsq1, NULL, 0, NULL);
+    CU_ASSERT_PTR_NOT_NULL_FATAL(q1);
+    log = tcxstrnew();
+    TCLIST *q1res = ejdbqryexecute(coll, q1, &count, 0, log);\
+    CU_ASSERT_EQUAL(TCLISTNUM(q1res), 1);
+    //fprintf(stderr, "\n\n%s", TCXSTRPTR(log));
 
-    fprintf(stderr, "%s", TCXSTRPTR(log));
     for (int i = 0; i < TCLISTNUM(q1res); ++i) {
-        void *bsdata = TCLISTVALPTR(q1res, i);
-        bson_print_raw(stderr, bsdata, 0);
+        CU_ASSERT_FALSE(bson_compare_string("tag1", TCLISTVALPTR(q1res, i), "personal.tags.0"));
+        CU_ASSERT_FALSE(bson_compare_string("green", TCLISTVALPTR(q1res, i), "labels.0"));
+        //bson_print_raw(stderr, TCLISTVALPTR(q1res, i), 0);
     }
 
-
-
     bson_destroy(&bsq1);
     tclistdel(q1res);
     tcxstrdel(log);