From ba168b7de3bbb8fa2a87a035bd0a7115ce91a6a7 Mon Sep 17 00:00:00 2001 From: eeff <33566201+eeff@users.noreply.github.com> Date: Mon, 14 Mar 2022 22:14:42 +0800 Subject: [PATCH 1/2] Add function neu_datatag_tbl_size for getting tag count --- include/neu_datatag_table.h | 1 + src/base/neu_datatag_table.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/include/neu_datatag_table.h b/include/neu_datatag_table.h index 20c4fdf5..4585ec2b 100644 --- a/include/neu_datatag_table.h +++ b/include/neu_datatag_table.h @@ -31,6 +31,7 @@ typedef struct neu_datatag_table neu_datatag_table_t; neu_datatag_table_t *neu_datatag_tbl_create(void); void neu_datatag_tbl_destroy(neu_datatag_table_t *); +size_t neu_datatag_tbl_size(neu_datatag_table_t *); neu_datatag_t * neu_datatag_tbl_get(neu_datatag_table_t *, datatag_id_t); // We take ownership of the datatag, this implies that the datatag and the diff --git a/src/base/neu_datatag_table.c b/src/base/neu_datatag_table.c index 2a4c72fc..9291ba8b 100644 --- a/src/base/neu_datatag_table.c +++ b/src/base/neu_datatag_table.c @@ -60,6 +60,11 @@ void neu_datatag_tbl_destroy(neu_datatag_table_t *tag_tbl) return; } +size_t neu_datatag_tbl_size(neu_datatag_table_t *tbl) +{ + return tbl->datatag_table.id_count; +} + neu_datatag_t *neu_datatag_tbl_get(neu_datatag_table_t *tag_tbl, datatag_id_t tag_id) { From 6d2b97fc49c024a2da4543756a77cb1752caa89c Mon Sep 17 00:00:00 2001 From: eeff <33566201+eeff@users.noreply.github.com> Date: Mon, 14 Mar 2022 22:15:17 +0800 Subject: [PATCH 2/2] Update datatag table unit tests --- tests/datatag_table_test.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/datatag_table_test.cc b/tests/datatag_table_test.cc index eb4f28b8..7e86b9e9 100644 --- a/tests/datatag_table_test.cc +++ b/tests/datatag_table_test.cc @@ -82,6 +82,7 @@ TEST(DatatageTableTest, DatatagTableAdd) EXPECT_EQ(0, neu_datatag_tbl_add(datatag_table, datatag1)); EXPECT_EQ(0, neu_datatag_tbl_add(datatag_table, datatag2)); EXPECT_EQ(0, neu_datatag_tbl_add(datatag_table, datatag3)); + EXPECT_EQ(3, neu_datatag_tbl_size(datatag_table)); neu_datatag_tbl_destroy(datatag_table); } @@ -101,9 +102,11 @@ TEST(DatatageTableTest, DatatagTableRemove) neu_datatag_t *datatag_id_return3 = NULL; datatag_id1 = neu_datatag_tbl_add(datatag_table, datatag1); + EXPECT_EQ(1, neu_datatag_tbl_size(datatag_table)); EXPECT_EQ(0, neu_datatag_tbl_remove(datatag_table, datatag_id1)); datatag_id_return1 = neu_datatag_tbl_get(datatag_table, datatag_id1); EXPECT_EQ(NULL, datatag_id_return1); + EXPECT_EQ(0, neu_datatag_tbl_size(datatag_table)); datatag1 = rand_tag(addr_str, "tag1"); @@ -161,6 +164,7 @@ TEST(DatatageTableTest, DatatagTableUpdate) EXPECT_EQ(datatag_id_return->type, datatag4->type); EXPECT_EQ(datatag_id_return->id, datatag4->id); EXPECT_EQ(datatag_id_return->addr_str, datatag4->addr_str); + EXPECT_EQ(2, neu_datatag_tbl_size(datatag_table)); EXPECT_EQ(0, neu_datatag_tbl_remove(datatag_table, datatag_id2)); EXPECT_EQ(0, neu_datatag_tbl_update(datatag_table, datatag_id1, datatag3));