1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "cc/resources/tile_priority.h"
6#include "testing/gtest/include/gtest/gtest.h"
7
8namespace cc {
9
10TEST(TilePriorityTest, IsHigherPriorityThan) {
11  TilePriority now(HIGH_RESOLUTION, TilePriority::NOW, 0);
12  TilePriority close_soon(HIGH_RESOLUTION, TilePriority::SOON, 1);
13  TilePriority far_soon(HIGH_RESOLUTION, TilePriority::SOON, 500);
14  TilePriority close_eventually(HIGH_RESOLUTION, TilePriority::EVENTUALLY, 2);
15  TilePriority far_eventually(HIGH_RESOLUTION, TilePriority::EVENTUALLY, 1000);
16  TilePriority non_ideal_now(NON_IDEAL_RESOLUTION, TilePriority::NOW, 0);
17
18  EXPECT_FALSE(now.IsHigherPriorityThan(now));
19  EXPECT_FALSE(now.IsHigherPriorityThan(non_ideal_now));
20
21  EXPECT_TRUE(now.IsHigherPriorityThan(close_soon));
22  EXPECT_TRUE(now.IsHigherPriorityThan(far_soon));
23  EXPECT_TRUE(now.IsHigherPriorityThan(close_eventually));
24  EXPECT_TRUE(now.IsHigherPriorityThan(far_eventually));
25  EXPECT_TRUE(close_soon.IsHigherPriorityThan(far_soon));
26  EXPECT_TRUE(close_soon.IsHigherPriorityThan(close_eventually));
27  EXPECT_TRUE(close_soon.IsHigherPriorityThan(far_eventually));
28  EXPECT_TRUE(far_soon.IsHigherPriorityThan(close_eventually));
29  EXPECT_TRUE(far_soon.IsHigherPriorityThan(far_eventually));
30  EXPECT_TRUE(close_eventually.IsHigherPriorityThan(far_eventually));
31
32  EXPECT_FALSE(far_eventually.IsHigherPriorityThan(close_eventually));
33  EXPECT_FALSE(far_eventually.IsHigherPriorityThan(far_soon));
34  EXPECT_FALSE(far_eventually.IsHigherPriorityThan(close_soon));
35  EXPECT_FALSE(far_eventually.IsHigherPriorityThan(now));
36  EXPECT_FALSE(far_eventually.IsHigherPriorityThan(non_ideal_now));
37  EXPECT_FALSE(close_eventually.IsHigherPriorityThan(far_soon));
38  EXPECT_FALSE(close_eventually.IsHigherPriorityThan(close_soon));
39  EXPECT_FALSE(close_eventually.IsHigherPriorityThan(now));
40  EXPECT_FALSE(far_soon.IsHigherPriorityThan(close_soon));
41  EXPECT_FALSE(far_soon.IsHigherPriorityThan(now));
42  EXPECT_FALSE(close_soon.IsHigherPriorityThan(now));
43}
44
45}  // namespace cc
46