/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-*/ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "mozilla/BenchmarkStorageParent.h" #include "gmock/gmock.h" #include "gtest/gtest-printers.h" #include "gtest/gtest.h" using ::testing::Return; using namespace mozilla; TEST(BenchmarkStorage, MovingAverage) { int32_t av = 0; int32_t win = 0; int32_t val = 100; BenchmarkStorageParent::MovingAverage(av, win, val); EXPECT_EQ(av, val) << "1st average"; EXPECT_EQ(win, 1) << "1st window"; av = 50; win = 1; val = 100; BenchmarkStorageParent::MovingAverage(av, win, val); EXPECT_EQ(av, 75) << "2nd average"; EXPECT_EQ(win, 2) << "2nd window"; av = 100; win = 9; val = 90; BenchmarkStorageParent::MovingAverage(av, win, val); EXPECT_EQ(av, 99) << "9th average"; EXPECT_EQ(win, 10) << "9th window"; av = 90; win = 19; val = 90; BenchmarkStorageParent::MovingAverage(av, win, val); EXPECT_EQ(av, 90) << "19th average"; EXPECT_EQ(win, 20) << "19th window"; av = 90; win = 20; val = 100; BenchmarkStorageParent::MovingAverage(av, win, val); EXPECT_EQ(av, 91) << "20th average"; EXPECT_EQ(win, 20) << "20th window"; } TEST(BenchmarkStorage, ParseStoredValue) { int32_t win = 0; int32_t score = BenchmarkStorageParent::ParseStoredValue(1100, win); EXPECT_EQ(win, 1) << "Window"; EXPECT_EQ(score, 100) << "Score/Percentage"; win = 0; score = BenchmarkStorageParent::ParseStoredValue(10099, win); EXPECT_EQ(win, 10) << "Window"; EXPECT_EQ(score, 99) << "Score/Percentage"; win = 0; score = BenchmarkStorageParent::ParseStoredValue(15038, win); EXPECT_EQ(win, 15) << "Window"; EXPECT_EQ(score, 38) << "Score/Percentage"; win = 0; score = BenchmarkStorageParent::ParseStoredValue(20099, win); EXPECT_EQ(win, 20) << "Window"; EXPECT_EQ(score, 99) << "Score/Percentage"; } TEST(BenchmarkStorage, PrepareStoredValue) { int32_t stored_value = BenchmarkStorageParent::PrepareStoredValue(80, 1); EXPECT_EQ(stored_value, 1080) << "Window"; stored_value = BenchmarkStorageParent::PrepareStoredValue(100, 6); EXPECT_EQ(stored_value, 6100) << "Window"; stored_value = BenchmarkStorageParent::PrepareStoredValue(1, 10); EXPECT_EQ(stored_value, 10001) << "Window"; stored_value = BenchmarkStorageParent::PrepareStoredValue(88, 13); EXPECT_EQ(stored_value, 13088) << "Window"; stored_value = BenchmarkStorageParent::PrepareStoredValue(100, 20); EXPECT_EQ(stored_value, 20100) << "Window"; }