Fix build warning
[platform/core/api/notification.git] / unittest / src / test_noti_ex_visibility_action.cc
1 /*
2  * Copyright (c) 2019 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #include <string>
18
19 #include <gtest/gtest.h>
20 #include <gmock/gmock.h>
21
22 #include "notification-ex/visibility_action.h"
23 #include "notification-ex/action_inflator.h"
24
25 using namespace tizen_base;
26 using namespace notification;
27 using namespace notification::item;
28
29 class VisibilityActionTest : public ::testing::Test {
30  public:
31   VisibilityAction* visibility;
32   std::string id = "visibility_id";
33   std::string extra = "visibility_extra";
34   bool visible = true;
35
36   virtual void SetUp() {
37     visibility = new VisibilityAction(extra);
38     visibility->SetVisibility("visibility_id", visible);
39   }
40   virtual void TearDown() {
41     delete visibility;
42   }
43 };
44
45 TEST_F(VisibilityActionTest, create) {
46   EXPECT_NE(VisibilityActionTest::visibility, nullptr);
47 }
48
49 TEST_F(VisibilityActionTest, IsLocal) {
50   ASSERT_EQ(VisibilityActionTest::visibility->IsLocal(), 1);
51 }
52
53 TEST_F(VisibilityActionTest, GetExtra) {
54   ASSERT_EQ(VisibilityActionTest::visibility->GetExtra(),
55     VisibilityActionTest::extra);
56 }
57
58 TEST_F(VisibilityActionTest, SerializeDeserialize) {
59   Bundle b = VisibilityActionTest::visibility->Serialize();
60
61   std::shared_ptr<AbstractAction> gen_action = ActionInflator::Create(b);
62   ASSERT_EQ(gen_action->GetType(), AbstractAction::Visibility);
63
64   auto gen_visibility_action =
65     std::static_pointer_cast<VisibilityAction>(gen_action);
66   EXPECT_NE(gen_visibility_action, nullptr);
67   ASSERT_EQ(gen_visibility_action->IsLocal(), true);
68   ASSERT_EQ(gen_visibility_action->GetExtra(), VisibilityActionTest::extra);
69 }
70
71 TEST_F(VisibilityActionTest, SetVisibility) {
72   VisibilityActionTest::visibility->SetVisibility("test_id", true);
73   Bundle b = VisibilityActionTest::visibility->Serialize();
74
75   std::shared_ptr<AbstractAction> gen_action = ActionInflator::Create(b);
76   ASSERT_EQ(gen_action->GetType(), AbstractAction::Visibility);
77
78   auto gen_visibility_action =
79     std::static_pointer_cast<VisibilityAction>(gen_action);
80   EXPECT_NE(gen_visibility_action, nullptr);
81   ASSERT_EQ(gen_visibility_action->IsLocal(), true);
82   ASSERT_EQ(gen_visibility_action->GetExtra(), VisibilityActionTest::extra);
83 }