blob: 213dcef5d30aebb84b918db751daed00e1a0fe27 [file] [log] [blame]
Yi Jin4e843102018-02-14 15:36:18 -08001// Copyright (C) 2018 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14#define DEBUG false
15#include "Log.h"
16
17#include "Throttler.h"
18
19#include <android-base/test_utils.h>
20#include <gmock/gmock.h>
21#include <gtest/gtest.h>
22
23TEST(ThrottlerTest, DataSizeExceeded) {
24 Throttler t(100, 100000);
25 EXPECT_FALSE(t.shouldThrottle());
26 t.addReportSize(200);
27 EXPECT_TRUE(t.shouldThrottle());
28}
29
30TEST(ThrottlerTest, TimeReset) {
31 Throttler t(100, 500);
32 EXPECT_FALSE(t.shouldThrottle());
33 t.addReportSize(200);
34 EXPECT_TRUE(t.shouldThrottle());
35 sleep(1); // sleep for 1 second to make sure throttler resets
36 EXPECT_FALSE(t.shouldThrottle());
37}