From b6c4bc8440c0b60175e1383a9bcc0f77af98fbe5 Mon Sep 17 00:00:00 2001 From: Junghoon Park Date: Mon, 18 Mar 2019 18:06:57 +0900 Subject: [PATCH] Improve unit TCs Change-Id: Ia5a241c9236959b2914b0b92aafe2a6d39be5923 Signed-off-by: Junghoon Park --- unittest/src/test_app_control_action.cc | 13 ++-- unittest/src/test_bundle.cc | 102 +++++++++++++++++++++++++++++-- unittest/src/test_button_item.cc | 4 +- unittest/src/test_chat_message_item.cc | 2 +- unittest/src/test_checkbox_item.cc | 4 +- unittest/src/test_entry_item.cc | 4 +- unittest/src/test_group_item.cc | 8 +-- unittest/src/test_icon_item.cc | 4 +- unittest/src/test_icon_text_item.cc | 2 +- unittest/src/test_image_item.cc | 4 +- unittest/src/test_input_selector_item.cc | 4 +- unittest/src/test_progress_item.cc | 4 +- unittest/src/test_text_item.cc | 4 +- unittest/src/test_time_item.cc | 4 +- unittest/src/test_visibility_action.cc | 8 +-- 15 files changed, 128 insertions(+), 43 deletions(-) diff --git a/unittest/src/test_app_control_action.cc b/unittest/src/test_app_control_action.cc index e2d4c85..ff575c1 100644 --- a/unittest/src/test_app_control_action.cc +++ b/unittest/src/test_app_control_action.cc @@ -56,8 +56,6 @@ TEST_F(AppControlActionTest, GetExtra) { } TEST_F(AppControlActionTest, SerializeDeserialize) { - char* app_id = NULL; - Bundle b = AppControlActionTest::action->Serialize(); std::shared_ptr gen_action = ActionInflator::Create(b); @@ -66,17 +64,15 @@ TEST_F(AppControlActionTest, SerializeDeserialize) { AppControlAction* gen_appcontrol_action = static_cast(gen_action.get()); + char* app_id = nullptr; app_control_get_app_id(gen_appcontrol_action->GetAppControl(), &app_id); + std::unique_ptr ptr(app_id, std::free); ASSERT_STREQ(app_id, AppControlActionTest::app_id); - - if (app_id) - free(app_id); } TEST_F(AppControlActionTest, AppControl) { app_control_h app_control; const char* app_id = "new_appid"; - char* app_id_ = NULL; app_control_create(&app_control); app_control_set_app_id(app_control, app_id); @@ -89,9 +85,8 @@ TEST_F(AppControlActionTest, AppControl) { AppControlAction* gen_appcontrol_action = static_cast(gen_action.get()); + char* app_id_ = nullptr; app_control_get_app_id(gen_appcontrol_action->GetAppControl(), &app_id_); + std::unique_ptr ptr(app_id_, std::free); EXPECT_STREQ(app_id, app_id_); - - if (app_id_) - free(app_id_); } diff --git a/unittest/src/test_bundle.cc b/unittest/src/test_bundle.cc index eea029c..ab52838 100644 --- a/unittest/src/test_bundle.cc +++ b/unittest/src/test_bundle.cc @@ -21,10 +21,100 @@ #include "notification-ex/ex_bundle.h" -class BUNDLE : public ::testing::Test { - public: - virtual void SetUp() { - } - virtual void TearDown() { +using ::testing::AtLeast; +using namespace notification; + +TEST(Bundle, CtorDtor) { + Bundle bundle; +} + +TEST(Bundle, CopyCtor) { + Bundle bundle; + bundle.Add("TestKey", "TestVal"); + + Bundle b2(bundle); + EXPECT_EQ(b2.GetString("TestKey"), "TestVal"); +} + +TEST(Bundle, MoveCtor) { + Bundle bundle; + bundle.Add("TestKey", "TestVal"); + + Bundle b2(std::move(bundle)); + EXPECT_EQ(b2.GetString("TestKey"), "TestVal"); +} + +TEST(Bundle, AddStringGetString) { + Bundle bundle; + bundle.Add("TestKey", "TestVal"); + + EXPECT_EQ(bundle.GetString("TestKey"), "TestVal"); +} + +TEST(Bundle, AddByteGetByte) { + Bundle bundle; + std::vector v = { 0, 1, 2, 3}; + bundle.Add("TestKey", v); + auto v2 = bundle.GetByte("TestKey"); + + EXPECT_EQ(v2.size(), 4); + EXPECT_EQ(v2[0], 0); + EXPECT_EQ(v2[1], 1); + EXPECT_EQ(v2[2], 2); + EXPECT_EQ(v2[3], 3); +} + +TEST(Bundle, AddStringArrayGetStringArray) { + Bundle bundle; + bundle.Add("TestKey", { "TestVal1", "TestVal2", "TestVal3" }); + + auto v = bundle.GetStringArray("TestKey"); + + EXPECT_EQ(v.size(), 3); + EXPECT_EQ(v[0], "TestVal1"); + EXPECT_EQ(v[1], "TestVal2"); + EXPECT_EQ(v[2], "TestVal3"); +} + +TEST(Bundle, ToRaw) { + Bundle bundle; + bundle.Add("TestKey", "TestVal"); + + auto r = bundle.ToRaw(); + Bundle b2(std::move(r)); + EXPECT_EQ(bundle.GetString("TestKey"), "TestVal"); +} + +TEST(Bundle, GetCount) { + Bundle bundle; + bundle.Add("TestKey1", "TestVal1"); + bundle.Add("TestKey2", "TestVal2"); + + EXPECT_EQ(bundle.GetCount(), 2); +} + +TEST(Bundle, Remove) { + Bundle bundle; + int r = bundle.Add("TestKey1", "TestVal1"); + EXPECT_EQ(r, 0); + + r = bundle.Remove("TestKey1"); + EXPECT_EQ(r, 0); + + EXPECT_EQ(bundle.GetString("TestKey1"), ""); +} + +TEST(Bundle, GetKeys) { + Bundle bundle; + bundle.Add("TestKey1", "TestVal1"); + bundle.Add("TestKey2", "TestVal2"); + bundle.Add("TestKey3", "TestVal3"); + + auto v = bundle.GetKeys(); + + EXPECT_EQ(bundle.GetCount(), 3); + + for (auto& i : v) { + EXPECT_EQ(i.GetType(), BUNDLE_TYPE_STR); } -}; +} diff --git a/unittest/src/test_button_item.cc b/unittest/src/test_button_item.cc index 7e28128..ad4a996 100644 --- a/unittest/src/test_button_item.cc +++ b/unittest/src/test_button_item.cc @@ -39,9 +39,9 @@ TEST_F(ButtonItemTest, SerializeDeserializeGetTitle) { ButtonItem item("title"); Bundle b = item.Serialize(); shared_ptr gen_item = ItemInflator::Create(b); - ASSERT_EQ(gen_item.get()->GetType(), item.GetType()); + ASSERT_EQ(gen_item->GetType(), item.GetType()); - ButtonItem* gen_btn = static_cast(gen_item.get()); + auto gen_btn = std::static_pointer_cast(gen_item); ASSERT_EQ(item.GetTitle(), gen_btn->GetTitle()); } diff --git a/unittest/src/test_chat_message_item.cc b/unittest/src/test_chat_message_item.cc index 086e517..66da814 100644 --- a/unittest/src/test_chat_message_item.cc +++ b/unittest/src/test_chat_message_item.cc @@ -65,7 +65,7 @@ TEST_F(ChatMessageItemTest, SerializeDeserialize) { Bundle b = ChatMessageItemTest::item->Serialize(); std::shared_ptr gen_item = ItemInflator::Create(b); - ChatMessageItem* gen_message = static_cast(gen_item.get()); + auto gen_message = std::static_pointer_cast(gen_item); ASSERT_EQ(gen_message->GetNameItem().GetContents(), "name"); ASSERT_EQ(gen_message->GetTextItem().GetContents(), "text"); ASSERT_EQ(gen_message->GetDataItem().GetContents(), "data"); diff --git a/unittest/src/test_checkbox_item.cc b/unittest/src/test_checkbox_item.cc index cca8c4d..bdcb246 100644 --- a/unittest/src/test_checkbox_item.cc +++ b/unittest/src/test_checkbox_item.cc @@ -57,8 +57,8 @@ TEST_F(CheckBoxItemTest, SerializeDeserialize) { Bundle b = CheckBoxItemTest::item->Serialize(); std::shared_ptr gen_item = ItemInflator::Create(b); - ASSERT_EQ(CheckBoxItemTest::item->GetType(), gen_item.get()->GetType()); + ASSERT_EQ(CheckBoxItemTest::item->GetType(), gen_item->GetType()); - CheckBoxItem* gen_checkbox = static_cast(gen_item.get()); + auto gen_checkbox = std::static_pointer_cast(gen_item); ASSERT_EQ(CheckBoxItemTest::item->GetTitle(), gen_checkbox->GetTitle()); } diff --git a/unittest/src/test_entry_item.cc b/unittest/src/test_entry_item.cc index 8bc9d4e..fd46bad 100644 --- a/unittest/src/test_entry_item.cc +++ b/unittest/src/test_entry_item.cc @@ -50,9 +50,9 @@ TEST_F(EntryItemTest, SerializeDeserialize) { EntryItem item("entry_id"); Bundle b = item.Serialize(); std::shared_ptr gen_item = ItemInflator::Create(b); - ASSERT_EQ(gen_item.get()->GetType(), item.GetType()); + ASSERT_EQ(gen_item->GetType(), item.GetType()); - EntryItem* gen_effect = static_cast(gen_item.get()); + auto gen_effect = std::static_pointer_cast(gen_item); ASSERT_EQ(item.GetId(), gen_effect->GetId()); } diff --git a/unittest/src/test_group_item.cc b/unittest/src/test_group_item.cc index fb4b63b..c4fb43f 100644 --- a/unittest/src/test_group_item.cc +++ b/unittest/src/test_group_item.cc @@ -45,16 +45,16 @@ TEST_F(GroupItemTest, SerializeDeserialize) { Bundle b = item.Serialize(); shared_ptr gen_item = ItemInflator::Create(b); - ASSERT_EQ(gen_item.get()->GetType(), item.GetType()); + ASSERT_EQ(gen_item->GetType(), item.GetType()); - GroupItem* gen_group = static_cast(gen_item.get()); + auto gen_group = static_pointer_cast(gen_item); list> gen_children_list = gen_group->GetChildren(); list> origin_children_list = item.GetChildren(); list>::iterator it = origin_children_list.begin(); for (auto& i : gen_children_list) { - ASSERT_EQ(i.get()->GetType(), (*it).get()->GetType()); - if (i.get()->GetType() == AbstractItem::Button) { + ASSERT_EQ(i->GetType(), (*it)->GetType()); + if (i->GetType() == AbstractItem::Button) { ButtonItem* btn1 = static_cast(i.get()); ButtonItem* btn2 = static_cast((*it).get()); ASSERT_EQ(btn1->GetTitle(), btn2->GetTitle()); diff --git a/unittest/src/test_icon_item.cc b/unittest/src/test_icon_item.cc index 2370467..df7fb7f 100644 --- a/unittest/src/test_icon_item.cc +++ b/unittest/src/test_icon_item.cc @@ -54,8 +54,8 @@ TEST_F(IconItemTest, SerializeDeserialize) { Bundle b = IconItemTest::item->Serialize(); std::shared_ptr gen_item = ItemInflator::Create(b); - ASSERT_EQ(IconItemTest::item->GetType(), gen_item.get()->GetType()); + ASSERT_EQ(IconItemTest::item->GetType(), gen_item->GetType()); - IconItem* gen_icon = static_cast(gen_item.get()); + auto gen_icon = std::static_pointer_cast(gen_item); ASSERT_EQ(IconItemTest::item->GetImagePath(), gen_icon->GetImagePath()); } diff --git a/unittest/src/test_icon_text_item.cc b/unittest/src/test_icon_text_item.cc index 20451e2..91c7fc4 100644 --- a/unittest/src/test_icon_text_item.cc +++ b/unittest/src/test_icon_text_item.cc @@ -57,7 +57,7 @@ TEST_F(IconTextItemTest, SerializeDeserialize) { Bundle b = IconTextItemTest::item->Serialize(); std::shared_ptr gen_item = ItemInflator::Create(b); - IconTextItem* gen_icon = static_cast(gen_item.get()); + auto gen_icon = std::static_pointer_cast(gen_item); ASSERT_EQ(IconTextItemTest::item->GetIconItem().GetImagePath(), gen_icon->GetIconItem().GetImagePath()); ASSERT_EQ(IconTextItemTest::item->GetTextItem().GetContents(), gen_icon->GetTextItem().GetContents()); } diff --git a/unittest/src/test_image_item.cc b/unittest/src/test_image_item.cc index a12e58c..41db181 100644 --- a/unittest/src/test_image_item.cc +++ b/unittest/src/test_image_item.cc @@ -55,8 +55,8 @@ TEST_F(ImageItemTest, SerializeDeserialize) { Bundle b = ImageItemTest::item->Serialize(); std::shared_ptr gen_item = ItemInflator::Create(b); - ASSERT_EQ(ImageItemTest::item->GetType(), gen_item.get()->GetType()); + ASSERT_EQ(ImageItemTest::item->GetType(), gen_item->GetType()); - ImageItem* gen_image = static_cast(gen_item.get()); + auto gen_image = std::static_pointer_cast(gen_item); ASSERT_EQ(ImageItemTest::item->GetImagePath(), gen_image->GetImagePath()); } diff --git a/unittest/src/test_input_selector_item.cc b/unittest/src/test_input_selector_item.cc index 7a02da8..245f66b 100644 --- a/unittest/src/test_input_selector_item.cc +++ b/unittest/src/test_input_selector_item.cc @@ -29,9 +29,9 @@ TEST_F(InputSelectorItemTest, SerializeDeserialize) { Bundle b = item.Serialize(); shared_ptr gen_item = ItemInflator::Create(b); - ASSERT_EQ(gen_item.get()->GetType(), item.GetType()); + ASSERT_EQ(gen_item->GetType(), item.GetType()); - InputSelectorItem* gen_input = static_cast(gen_item.get()); + auto gen_input = static_pointer_cast(gen_item); list l1 = item.GetContents(); list l2 = gen_input->GetContents(); diff --git a/unittest/src/test_progress_item.cc b/unittest/src/test_progress_item.cc index a592e44..6f3d5f8 100644 --- a/unittest/src/test_progress_item.cc +++ b/unittest/src/test_progress_item.cc @@ -23,9 +23,9 @@ TEST_F(ProgressItemTest, SerializeDeserializeGetTitle) { ProgressItem item(1.0, 10.0, 100.0); Bundle b = item.Serialize(); shared_ptr gen_item = ItemInflator::Create(b); - ASSERT_EQ(gen_item.get()->GetType(), item.GetType()); + ASSERT_EQ(gen_item->GetType(), item.GetType()); - ProgressItem* gen_progress = static_cast(gen_item.get()); + auto gen_progress = std::static_pointer_cast(gen_item); ASSERT_EQ(item.GetCurrent(), gen_progress->GetCurrent()); ASSERT_EQ(item.GetMin(), gen_progress->GetMin()); ASSERT_EQ(item.GetMax(), gen_progress->GetMax()); diff --git a/unittest/src/test_text_item.cc b/unittest/src/test_text_item.cc index 5224dfa..432a6a6 100644 --- a/unittest/src/test_text_item.cc +++ b/unittest/src/test_text_item.cc @@ -52,9 +52,9 @@ TEST_F(TexttItemTest, SerializeDeserializeGetContents) { TextItem item("text_id", "contents"); Bundle b = item.Serialize(); std::shared_ptr gen_item = ItemInflator::Create(b); - ASSERT_EQ(gen_item.get()->GetType(), item.GetType()); + ASSERT_EQ(gen_item->GetType(), item.GetType()); - TextItem* gen_text = static_cast(gen_item.get()); + auto gen_text = std::static_pointer_cast(gen_item); ASSERT_EQ(item.GetContents(), gen_text->GetContents()); } diff --git a/unittest/src/test_time_item.cc b/unittest/src/test_time_item.cc index fd7762d..fa149e5 100644 --- a/unittest/src/test_time_item.cc +++ b/unittest/src/test_time_item.cc @@ -56,8 +56,8 @@ TEST_F(TimeItemTest, SerializeDeserialize) { Bundle b = TimeItemTest::item->Serialize(); std::shared_ptr gen_item = ItemInflator::Create(b); - ASSERT_EQ(TimeItemTest::item->GetType(), gen_item.get()->GetType()); + ASSERT_EQ(TimeItemTest::item->GetType(), gen_item->GetType()); - TimeItem* gen_time = static_cast(gen_item.get()); + auto gen_time = std::static_pointer_cast(gen_item); ASSERT_EQ(item->GetTime(), gen_time->GetTime()); } diff --git a/unittest/src/test_visibility_action.cc b/unittest/src/test_visibility_action.cc index 4716460..21c0c18 100644 --- a/unittest/src/test_visibility_action.cc +++ b/unittest/src/test_visibility_action.cc @@ -60,8 +60,8 @@ TEST_F(VisibilityActionTest, SerializeDeserialize) { std::shared_ptr gen_action = ActionInflator::Create(b); ASSERT_EQ(gen_action->GetType(), AbstractAction::Visibility); - VisibilityAction* gen_visibility_action = - static_cast(gen_action.get()); + auto gen_visibility_action = + std::static_pointer_cast(gen_action); EXPECT_NE(gen_visibility_action, nullptr); ASSERT_EQ(gen_visibility_action->IsLocal(), true); ASSERT_EQ(gen_visibility_action->GetExtra(), VisibilityActionTest::extra); @@ -74,8 +74,8 @@ TEST_F(VisibilityActionTest, SetVisibility) { std::shared_ptr gen_action = ActionInflator::Create(b); ASSERT_EQ(gen_action->GetType(), AbstractAction::Visibility); - VisibilityAction* gen_visibility_action = - static_cast(gen_action.get()); + auto gen_visibility_action = + std::static_pointer_cast(gen_action); EXPECT_NE(gen_visibility_action, nullptr); ASSERT_EQ(gen_visibility_action->IsLocal(), true); ASSERT_EQ(gen_visibility_action->GetExtra(), VisibilityActionTest::extra); -- 2.7.4