Jelajahi Sumber

add tests for aliase get/set to getArg/setArg

Lyon 2 tahun lalu
induk
melakukan
03343e737f
4 mengubah file dengan 67 tambahan dan 6 penghapusan
  1. 54 0
      port/linux/test/stddata-test.cpp
  2. 8 5
      src/PikaObj.c
  3. 4 0
      src/PikaObj.h
  4. 1 1
      src/PikaVersion.h

+ 54 - 0
port/linux/test/stddata-test.cpp

@@ -610,6 +610,60 @@ TEST(stddata, New_pikaListFromVarArgs0) {
     EXPECT_EQ(pikaMemNow(), 0);
 }
 
+TEST(stddata, NewPikaDict) {
+    PikaDict* dict = New_PikaDict();
+    ASSERT_NE(dict, nullptr);
+    pikaDict_deinit(dict);
+    EXPECT_EQ(pikaMemNow(), 0);
+}
+
+TEST(stddata, SetGetInt) {
+    PikaDict* dict = New_PikaDict();
+    EXPECT_EQ(pikaDict_setInt(dict, "testKey", 12345), PIKA_RES_OK);
+    EXPECT_EQ(pikaDict_getInt(dict, "testKey"), 12345);
+    pikaDict_deinit(dict);
+    EXPECT_EQ(pikaMemNow(), 0);
+}
+
+TEST(stddata, SetGetFloat) {
+    PikaDict* dict = New_PikaDict();
+    EXPECT_EQ(pikaDict_setFloat(dict, "testFloatKey", 12.34f), PIKA_RES_OK);
+    EXPECT_FLOAT_EQ(pikaDict_getFloat(dict, "testFloatKey"), 12.34f);
+    pikaDict_deinit(dict);
+    EXPECT_EQ(pikaMemNow(), 0);
+}
+
+TEST(stddata, SetGetStr) {
+    PikaDict* dict = New_PikaDict();
+    EXPECT_EQ(pikaDict_setStr(dict, "testStringKey", "Hello"), PIKA_RES_OK);
+    EXPECT_STREQ(pikaDict_getStr(dict, "testStringKey"), "Hello");
+    pikaDict_deinit(dict);
+    EXPECT_EQ(pikaMemNow(), 0);
+}
+
+TEST(stddata, SetGetPtr) {
+    PikaDict* dict = New_PikaDict();
+    int data = 100;
+    EXPECT_EQ(pikaDict_setPtr(dict, "testPtrKey", &data), PIKA_RES_OK);
+    EXPECT_EQ(*reinterpret_cast<int*>(pikaDict_getPtr(dict, "testPtrKey")),
+              data);
+    pikaDict_deinit(dict);
+    EXPECT_EQ(pikaMemNow(), 0);
+}
+
+TEST(stddata, SetGetBytes) {
+    PikaDict* dict = New_PikaDict();
+    uint8_t bytes[] = {0x01, 0x02, 0x03};
+    EXPECT_EQ(pikaDict_setBytes(dict, "testByteKey", bytes, sizeof(bytes)),
+              PIKA_RES_OK);
+    EXPECT_EQ(
+        memcmp(pikaDict_getBytes(dict, "testByteKey"), bytes, sizeof(bytes)),
+        0);
+    EXPECT_EQ(pikaDict_getBytesSize(dict, "testByteKey"), sizeof(bytes));
+    pikaDict_deinit(dict);
+    EXPECT_EQ(pikaMemNow(), 0);
+}
+
 #endif
 
 TEST_END

+ 8 - 5
src/PikaObj.c

@@ -4279,16 +4279,18 @@ ArgType pikaTuple_getType(PikaTuple* self, int index) {
 }
 
 PIKA_RES pikaDict_setInt(PikaDict* self, char* name, int64_t val) {
-    return args_setInt(_OBJ2DICT(self), (name), (val));
+    return pikaDict_set(self, name, arg_newInt(val));
 }
 PIKA_RES pikaDict_setFloat(PikaDict* self, char* name, pika_float val) {
-    return args_setFloat(_OBJ2DICT(self), (name), (val));
+    return pikaDict_set(self, name, arg_newFloat(val));
 }
+
 PIKA_RES pikaDict_setStr(PikaDict* self, char* name, char* val) {
-    return args_setStr(_OBJ2DICT(self), (name), (val));
+    return pikaDict_set(self, name, arg_newStr(val));
 }
+
 PIKA_RES pikaDict_setPtr(PikaDict* self, char* name, void* val) {
-    return args_setPtr(_OBJ2DICT(self), (name), (val));
+    return pikaDict_set(self, name, arg_newPtr(ARG_TYPE_POINTER, val));
 }
 
 PIKA_RES _pikaDict_setVal(PikaDict* self, Arg* val) {
@@ -4302,6 +4304,7 @@ PIKA_RES pikaDict_set(PikaDict* self, char* name, Arg* val) {
 }
 
 PIKA_RES pikaDict_removeArg(PikaDict* self, Arg* val) {
+    args_removeArg(_OBJ2KEYS(self), (val));
     return args_removeArg(_OBJ2DICT(self), (val));
 }
 
@@ -4309,7 +4312,7 @@ PIKA_RES pikaDict_setBytes(PikaDict* self,
                            char* name,
                            uint8_t* val,
                            size_t size) {
-    return args_setBytes(_OBJ2DICT(self), (name), (val), (size));
+    return pikaDict_set(self, name, arg_newBytes(val, size));
 }
 
 int64_t pikaDict_getInt(PikaDict* self, char* name) {

+ 4 - 0
src/PikaObj.h

@@ -776,6 +776,7 @@ pika_float pikaList_getFloat(PikaList* self, int index);
 char* pikaList_getStr(PikaList* self, int index);
 void* pikaList_getPtr(PikaList* self, int index);
 Arg* pikaList_get(PikaList* self, int index);
+#define pikaList_getArg pikaList_get
 size_t pikaList_getSize(PikaList* self);
 void pikaList_reverse(PikaList* self);
 PIKA_RES pikaList_insert(PikaList* self, int index, Arg* arg);
@@ -797,6 +798,7 @@ PikaTuple* New_PikaTuple(void);
 #define pikaTuple_forEach pikaList_forEach
 void pikaTuple_deinit(PikaTuple* self);
 Arg* pikaTuple_getArg(PikaTuple* self, int index);
+#define pikaTuple_get pikaTuple_getArg
 size_t pikaTuple_getSize(PikaTuple* self);
 int64_t pikaTuple_getInt(PikaTuple* self, int index);
 pika_float pikaTuple_getFloat(PikaTuple* self, int index);
@@ -813,6 +815,7 @@ PIKA_RES pikaDict_setFloat(PikaDict* self, char* name, pika_float val);
 PIKA_RES pikaDict_setStr(PikaDict* self, char* name, char* val);
 PIKA_RES pikaDict_setPtr(PikaDict* self, char* name, void* val);
 PIKA_RES pikaDict_set(PikaDict* self, char* name, Arg* val);
+#define pikaDict_setArg pikaDict_set
 PIKA_RES pikaDict_removeArg(PikaDict* self, Arg* val);
 PIKA_RES pikaDict_setBytes(PikaDict* self,
                            char* name,
@@ -825,6 +828,7 @@ void* pikaDict_getPtr(PikaDict* self, char* name);
 int pikaDict_getSize(PikaDict* self);
 Arg* pikaDict_getArgByidex(PikaDict* self, int index);
 Arg* pikaDict_get(PikaDict* self, char* name);
+#define pikaDict_getArg pikaDict_get
 int32_t pikaDict_isArgExist(PikaDict* self, char* name);
 uint8_t* pikaDict_getBytes(PikaDict* self, char* name);
 ArgType pikaDict_getType(PikaDict* self, char* name);

+ 1 - 1
src/PikaVersion.h

@@ -2,4 +2,4 @@
 #define PIKA_VERSION_MINOR 12
 #define PIKA_VERSION_MICRO 5
 
-#define PIKA_EDIT_TIME "2023/08/12 22:53:45"
+#define PIKA_EDIT_TIME "2023/08/12 23:05:27"