void SingleView_UI_Verification()
            {
                // SingleView Icons testing
                Sense::Image testImage;

                Sense::Image btnParkToLive_img = Resources::LoadIconFromResource(PARK_TO_LIVE_ENABLE_IMG);
                TestUtility::GetInstance().GetButtonCustomImage(REFERENCE_HISTORY_NAVIGATION_PARK_TO_LIVE_IMAGE, testImage);
                EXPECT_EQ(true, TestUtility::GetInstance().ImageCompare(testImage, btnParkToLive_img));

                Sense::Image btnParkToRef1_img = Resources::LoadIconFromResource(PARK_TO_REFERENCE1_ENABLE_IMG);
                TestUtility::GetInstance().GetButtonCustomImage(REFERENCE_HISTORY_NAVIGATION_PARK_TO_REFERENCE1_IMAGE, testImage);
                EXPECT_EQ(true, TestUtility::GetInstance().ImageCompare(testImage, btnParkToRef1_img));

                Sense::Image btnParkToRef2_img = Resources::LoadIconFromResource(PARK_TO_REFERENCE2_ENABLE_IMG);
                TestUtility::GetInstance().GetButtonCustomImage(REFERENCE_HISTORY_NAVIGATION_PARK_TO_REFERENCE2_IMAGE, testImage);
                EXPECT_EQ(true, TestUtility::GetInstance().ImageCompare(testImage, btnParkToRef2_img));

                Sense::Image btnPreviousImage_img = Resources::LoadIconFromResource(PREVIOUS_BUTTON_ENABLE_IMG);
                TestUtility::GetInstance().GetButtonCustomImage(REFERENCE_HISTORY_NAVIGATION_BTN_PREVIOUS_IMAGE, testImage);
                EXPECT_EQ(true, TestUtility::GetInstance().ImageCompare(testImage, btnPreviousImage_img));

                Sense::Image btnGridImageView_img = Resources::LoadIconFromResource(GRID_VIEW_ENABLE_IMG);
                TestUtility::GetInstance().GetButtonCustomImage(REFERENCE_HISTORY_NAVIGATION_BTN_SINGLE_IMAGE, testImage);
                EXPECT_EQ(true, TestUtility::GetInstance().ImageCompare(testImage, btnGridImageView_img));

                Sense::Image btnNextImage_img = Resources::LoadIconFromResource(NEXT_BUTTON_ENABLE_IMG);
                TestUtility::GetInstance().GetButtonCustomImage(REFERENCE_HISTORY_NAVIGATION_BTN_NEXT_IMAGE, testImage);
                EXPECT_EQ(true, TestUtility::GetInstance().ImageCompare(testImage, btnNextImage_img));

                Sense::Image RefNavigationBar_img = Resources::LoadIconFromResource(NAVIGATION_BAR_IMG);
                TestUtility::GetInstance().GetImageBoxImage(REFERENCE_HISTORY_NAVIGATION_BAR_IMAGEBOX, testImage);
                EXPECT_EQ(true, TestUtility::GetInstance().ImageCompare(testImage, RefNavigationBar_img));

                // SingleView Position and Size testing
                Rect RefHisNavigationBarPanelExpectedSize = { 530.0, 1865.0, 1330.0, 1955.0 };
                Rect RefHisNavigationBarPanelActualSize = Gui::Test::TestUtility::GetInstance().GetControlBounds(REFERENCE_HISTORY_NAVIGATION_PANEL_TITLE);
                EXPECT_EQ(RefHisNavigationBarPanelExpectedSize, RefHisNavigationBarPanelActualSize);

                Rect RefNavigationBarExpectedSize = { 3.0, 5.0, 797.0, 85.0 };
                Rect RefNavigationBarActualSize = Gui::Test::TestUtility::GetInstance().GetControlBounds(REFERENCE_HISTORY_NAVIGATION_BAR_IMAGEBOX);
                EXPECT_EQ(RefNavigationBarExpectedSize, RefNavigationBarActualSize);

                Rect btnParkToLiveExpectedSize = { 55.0, 5.0, 135.0, 85.0 };
                Rect btnParkToLiveActualSize = Gui::Test::TestUtility::GetInstance().GetControlBounds(REFERENCE_HISTORY_NAVIGATION_PARK_TO_LIVE_IMAGE);
                EXPECT_EQ(btnParkToLiveExpectedSize, btnParkToLiveActualSize);

                Rect btnParkToRef1ExpectedSize = { 157.0, 5.0, 237.0, 85.0 };
                Rect btnParkToRef1ActualSize = Gui::Test::TestUtility::GetInstance().GetControlBounds(REFERENCE_HISTORY_NAVIGATION_PARK_TO_REFERENCE1_IMAGE);
                EXPECT_EQ(btnParkToRef1ExpectedSize, btnParkToRef1ActualSize);

                Rect btnParkToRef2ExpectedSize = { 257.0, 5.0, 337.0, 85.0 };
                Rect btnParkToRef2ActualSize = Gui::Test::TestUtility::GetInstance().GetControlBounds(REFERENCE_HISTORY_NAVIGATION_PARK_TO_REFERENCE2_IMAGE);
                EXPECT_EQ(btnParkToRef2ExpectedSize, btnParkToRef2ActualSize);

                Rect btnPreviousImgExpectedSize = { 414.0, 5.0, 494.0, 85.0 };
                Rect btnPreviousImgActualSize = Gui::Test::TestUtility::GetInstance().GetControlBounds(REFERENCE_HISTORY_NAVIGATION_BTN_PREVIOUS_IMAGE);
                EXPECT_EQ(btnPreviousImgExpectedSize, btnPreviousImgActualSize);

                Rect btnSingleImageViewExpectedSize = { 540.0, 5.0, 620.0, 85.0 };
                Rect btnSingleImageViewActualSize = Gui::Test::TestUtility::GetInstance().GetControlBounds(REFERENCE_HISTORY_NAVIGATION_BTN_SINGLE_IMAGE);
                EXPECT_EQ(btnSingleImageViewExpectedSize, btnSingleImageViewActualSize);

                Rect btnNextImageExpectedSize = { 665.0, 5.0, 745.0, 85.0 };
                Rect btnNextImageActualSize = Gui::Test::TestUtility::GetInstance().GetControlBounds(REFERENCE_HISTORY_NAVIGATION_BTN_NEXT_IMAGE);
                EXPECT_EQ(btnNextImageExpectedSize, btnNextImageActualSize);
            }

            void OverviewSetup()
            {
                GUI_SIGNAL_STRUCT signalOverlay;
                signalOverlay.scType = GUI_SC_WINDOW_OVERVIEW;
                int status = GUIInterface::GetInstance().IndicateSignal(MONITOR_VIEWPORT_4, 1, &signalOverlay);
                EXPECT_EQ(OK, status);
            }
        }; this a func which is called in the below testfunc.         TEST_F(ReferenceHistoryTest, ReferenceHistory_SingleView_Test)
        {
            ShowReferenceHistoryPanel(GUI_SINGLE_VIEW);

            EXPECT_TRUE(TestUtility::GetInstance().IsVisibleSync(REFERENCE_HISTORY_NAVIGATION_PANEL_TITLE));
            EXPECT_TRUE(TestUtility::GetInstance().IsEnabled(REFERENCE_HISTORY_NAVIGATION_PANEL_TITLE));

            EXPECT_TRUE(TestUtility::GetInstance().IsVisibleSync(REFERENCE_HISTORY_NAVIGATION_PARK_TO_LIVE_IMAGE));
            EXPECT_TRUE(TestUtility::GetInstance().IsEnabled(REFERENCE_HISTORY_NAVIGATION_PARK_TO_LIVE_IMAGE));

            EXPECT_TRUE(TestUtility::GetInstance().IsVisibleSync(REFERENCE_HISTORY_NAVIGATION_PARK_TO_REFERENCE1_IMAGE));
            EXPECT_TRUE(TestUtility::GetInstance().IsEnabled(REFERENCE_HISTORY_NAVIGATION_PARK_TO_REFERENCE1_IMAGE));

            EXPECT_TRUE(TestUtility::GetInstance().IsVisibleSync(REFERENCE_HISTORY_NAVIGATION_PARK_TO_REFERENCE2_IMAGE));
            EXPECT_TRUE(TestUtility::GetInstance().IsEnabled(REFERENCE_HISTORY_NAVIGATION_PARK_TO_REFERENCE2_IMAGE));

            EXPECT_TRUE(TestUtility::GetInstance().IsVisibleSync(REFERENCE_HISTORY_NAVIGATION_BTN_PREVIOUS_IMAGE));
            EXPECT_TRUE(TestUtility::GetInstance().IsEnabled(REFERENCE_HISTORY_NAVIGATION_BTN_PREVIOUS_IMAGE));

            EXPECT_TRUE(TestUtility::GetInstance().IsVisibleSync(REFERENCE_HISTORY_NAVIGATION_BTN_SINGLE_IMAGE));
            EXPECT_TRUE(TestUtility::GetInstance().IsEnabled(REFERENCE_HISTORY_NAVIGATION_BTN_SINGLE_IMAGE));

            EXPECT_TRUE(TestUtility::GetInstance().IsVisibleSync(REFERENCE_HISTORY_NAVIGATION_BTN_NEXT_IMAGE));
            EXPECT_TRUE(TestUtility::GetInstance().IsEnabled(REFERENCE_HISTORY_NAVIGATION_BTN_NEXT_IMAGE));

            EXPECT_TRUE(TestUtility::GetInstance().IsVisibleSync(REFERENCE_HISTORY_NAVIGATION_BAR_IMAGEBOX));
            EXPECT_FALSE(TestUtility::GetInstance().IsEnabled(REFERENCE_HISTORY_NAVIGATION_BAR_IMAGEBOX));

            SingleView_UI_Verification();

            HideReferenceHistoryPanel();

            ASSERT_FALSE(TestUtility::GetInstance().IsVisibleSync(REFERENCE_HISTORY_NAVIGATION_PANEL_TITLE));
            EXPECT_TRUE(TestUtility::GetInstance().IsEnabled(REFERENCE_HISTORY_NAVIGATION_PANEL_TITLE));
        } -- now i know nothing about gtest but im asked initially to write test code for the ui part of my dialog. so pls explain me in the easiest way possible am i supposed to write in the first func and what am i supposed to write in the corresponding test func.. this code is for refererence.. in my dialog i have 1 icon, 2 btns, 1 tab with 2 tab pages.. each tab page contains 1 list control.