diff options
| author | Marco Trevisan (TreviƱo) <mail@3v1n0.net> | 2013-02-06 01:41:52 +0000 |
|---|---|---|
| committer | Tarmac <> | 2013-02-06 01:41:52 +0000 |
| commit | 6d5eb571fc134c6e54048b09809a330dfa9ea595 (patch) | |
| tree | 5f45236010faf35814af42fb835850af6e4b3d2c | |
| parent | 6950bee7c6925bd3887634d6081df7b3860ff5a0 (diff) | |
| parent | 4a4381a05c9e1fdce493178fdaf2688b0540794a (diff) | |
TestSwitcherView: use TEST_P to perform multiple animation tests.
Approved by Andrea Azzarone. (bzr r3130)
| -rw-r--r-- | tests/test_switcher_view.cpp | 64 |
1 files changed, 33 insertions, 31 deletions
diff --git a/tests/test_switcher_view.cpp b/tests/test_switcher_view.cpp index 4838cb98d..52db1d962 100644 --- a/tests/test_switcher_view.cpp +++ b/tests/test_switcher_view.cpp @@ -131,9 +131,13 @@ TEST_F(TestSwitcherView, SetModel) EXPECT_FALSE(switcher.model_->detail_selection_index.changed.empty()); } -TEST_F(TestSwitcherView, UpdateRenderTargets) + +struct AnimationProgress : TestSwitcherView, testing::WithParamInterface<double> {}; +INSTANTIATE_TEST_CASE_P(TestSwitcherView, AnimationProgress, testing::Range(0.0, 1.0, 0.1)); + +TEST_P(AnimationProgress, UpdateRenderTargets) { - float progress = 0.55; + float progress = GetParam(); AddFakeApplicationToSwitcher(); auto const& model = switcher.GetModel(); @@ -156,42 +160,40 @@ TEST_F(TestSwitcherView, UpdateRenderTargets) } } -TEST_F(TestSwitcherView, ResizeRenderTargets) +TEST_P(AnimationProgress, ResizeRenderTargets) { AddFakeApplicationToSwitcher(); - for (float progress = 0.1f; progress <= 1.0f; progress += 0.1f) - { - auto const& layout_geo = switcher.UpdateRenderTargets(progress); - std::map<Window, nux::Geometry> old_thumbs; + float progress = GetParam(); + auto const& layout_geo = switcher.UpdateRenderTargets(progress); + std::map<Window, nux::Geometry> old_thumbs; - for (auto const& win : switcher.ExternalTargets()) - old_thumbs[win->xid] = win->result; + for (auto const& win : switcher.ExternalTargets()) + old_thumbs[win->xid] = win->result; - float to_finish = 1.0f - progress; - nux::Point layout_abs_center((layout_geo.x + layout_geo.width/2.0f) * to_finish, - (layout_geo.y + layout_geo.height/2.0f) * to_finish); + float to_finish = 1.0f - progress; + nux::Point layout_abs_center((layout_geo.x + layout_geo.width/2.0f) * to_finish, + (layout_geo.y + layout_geo.height/2.0f) * to_finish); - switcher.ResizeRenderTargets(layout_geo, progress); + switcher.ResizeRenderTargets(layout_geo, progress); - for (auto const& win : switcher.ExternalTargets()) - { - auto const& thumb_geo = win->result; - auto const& old_thumb_geo = old_thumbs[win->xid]; - - nux::Geometry expected_geo; - expected_geo.x = old_thumb_geo.x * progress + layout_abs_center.x; - expected_geo.y = old_thumb_geo.y * progress + layout_abs_center.y; - expected_geo.width = old_thumb_geo.width * progress; - expected_geo.height = old_thumb_geo.height * progress; - - // Like ASSERT_EQ(thumb_geo, expected_geo), but more informative on failure - ASSERT_EQ(thumb_geo.x, expected_geo.x); - ASSERT_EQ(thumb_geo.y, expected_geo.y); - ASSERT_EQ(thumb_geo.width, expected_geo.width); - ASSERT_EQ(thumb_geo.height, expected_geo.height); - ASSERT_EQ(thumb_geo, expected_geo); - } + for (auto const& win : switcher.ExternalTargets()) + { + auto const& thumb_geo = win->result; + auto const& old_thumb_geo = old_thumbs[win->xid]; + + nux::Geometry expected_geo; + expected_geo.x = old_thumb_geo.x * progress + layout_abs_center.x; + expected_geo.y = old_thumb_geo.y * progress + layout_abs_center.y; + expected_geo.width = old_thumb_geo.width * progress; + expected_geo.height = old_thumb_geo.height * progress; + + // Like ASSERT_EQ(thumb_geo, expected_geo), but more informative on failure + ASSERT_EQ(thumb_geo.x, expected_geo.x); + ASSERT_EQ(thumb_geo.y, expected_geo.y); + ASSERT_EQ(thumb_geo.width, expected_geo.width); + ASSERT_EQ(thumb_geo.height, expected_geo.height); + ASSERT_EQ(thumb_geo, expected_geo); } } |
