- add sources.
[platform/framework/web/crosswalk.git] / src / cc / base / util_unittest.cc
1 // Copyright 2013 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/base/util.h"
6
7 #include "testing/gtest/include/gtest/gtest.h"
8
9 namespace cc {
10 namespace {
11
12 TEST(UtilTest, RoundUp) {
13   for (int multiplier = 1; multiplier <= 10; ++multiplier) {
14     // Try attempts in descending order, so that we can
15     // determine the correct value before it's needed.
16     int correct;
17     for (int attempt = 5 * multiplier; attempt >= -5 * multiplier; --attempt) {
18       if ((attempt % multiplier) == 0)
19         correct = attempt;
20       EXPECT_EQ(correct, RoundUp(attempt, multiplier))
21           << "attempt=" << attempt << " multiplier=" << multiplier;
22     }
23   }
24
25   for (unsigned multiplier = 1; multiplier <= 10; ++multiplier) {
26     // Try attempts in descending order, so that we can
27     // determine the correct value before it's needed.
28     unsigned correct;
29     for (unsigned attempt = 5 * multiplier; attempt > 0; --attempt) {
30       if ((attempt % multiplier) == 0)
31         correct = attempt;
32       EXPECT_EQ(correct, RoundUp(attempt, multiplier))
33           << "attempt=" << attempt << " multiplier=" << multiplier;
34     }
35     EXPECT_EQ(0u, RoundUp(0u, multiplier))
36         << "attempt=0 multiplier=" << multiplier;
37   }
38 }
39
40 TEST(UtilTest, RoundDown) {
41   for (int multiplier = 1; multiplier <= 10; ++multiplier) {
42     // Try attempts in ascending order, so that we can
43     // determine the correct value before it's needed.
44     int correct;
45     for (int attempt = -5 * multiplier; attempt <= 5 * multiplier; ++attempt) {
46       if ((attempt % multiplier) == 0)
47         correct = attempt;
48       EXPECT_EQ(correct, RoundDown(attempt, multiplier))
49           << "attempt=" << attempt << " multiplier=" << multiplier;
50     }
51   }
52
53   for (unsigned multiplier = 1; multiplier <= 10; ++multiplier) {
54     // Try attempts in ascending order, so that we can
55     // determine the correct value before it's needed.
56     unsigned correct;
57     for (unsigned attempt = 0; attempt <= 5 * multiplier; ++attempt) {
58       if ((attempt % multiplier) == 0)
59         correct = attempt;
60       EXPECT_EQ(correct, RoundDown(attempt, multiplier))
61           << "attempt=" << attempt << " multiplier=" << multiplier;
62     }
63   }
64 }
65
66 }  // namespace
67 }  // namespace cc