a8985f970f2d96ab259e9d53399a67f778b0b6d0
[profile/ivi/layer-management.git] / LayerManagerService / tests / ScreenTest.cpp
1 /***************************************************************************
2  *
3  * Copyright 2010,2011 BMW Car IT GmbH
4  * Copyright (C) 2012 DENSO CORPORATION and Robert Bosch Car Multimedia Gmbh
5  *
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *        http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  ****************************************************************************/
20
21 #include <gtest/gtest.h>
22
23 #include "LmScreen.h"
24
25 class ScreenTest : public ::testing::Test
26 {
27 public:
28     void SetUp()
29     {
30         m_pScreen = new LmScreen(10, "/dev/dummy");
31         ASSERT_TRUE(m_pScreen);
32     }
33
34     void TearDown()
35     {
36         if (m_pScreen)
37         {
38             delete m_pScreen;
39             m_pScreen= 0;
40         }
41     }
42
43     LmScreen* m_pScreen;
44 };
45
46 TEST_F(ScreenTest, constructor_withoutId)
47 {
48     /// Create screen without specific id
49     LmScreen* lmScreen = new LmScreen();
50
51     /// make sure, screen has a default id assigned
52     EXPECT_EQ(0u, lmScreen->getID());
53
54     /// make sure, screen hasn't device name
55     EXPECT_EQ(NULL, lmScreen->getDeviceName());
56
57     /// make sure, screen hasn't element of CurrentRenderOrder
58     EXPECT_EQ(true, lmScreen->getCurrentRenderOrder().empty());
59
60     delete lmScreen;
61 }
62
63 TEST_F(ScreenTest, constructor_withId)
64 {
65     unsigned int expectedId = 411;
66     const char expectedDeviceName[] = "/dev/dummy";
67
68     /// Create screen with specific id
69     LmScreen* lmScreen = new LmScreen(expectedId, expectedDeviceName);
70
71     /// make sure, screen has a expected id assigned
72     EXPECT_EQ(expectedId, lmScreen->getID());
73
74     /// make sure, screen has a expected device name
75     EXPECT_STREQ(expectedDeviceName, lmScreen->getDeviceName());
76
77     /// make sure, screen hasn't element of CurrentRenderOrder
78     EXPECT_EQ(true, lmScreen->getCurrentRenderOrder().empty());
79
80     delete lmScreen;
81 }
82
83 TEST_F(ScreenTest, getCurrentRenderOrder)
84 {
85     // TODO: how to test? return by typically reference can't be invalid.
86
87     /// get render order
88     LayerList& llist = m_pScreen->getCurrentRenderOrder();
89
90     /// make sure, list of layers is returned
91     ASSERT_TRUE(&llist);
92 }