blob: 5a2f8441edd576dfb562c9c93208f35202163ed0 [file] [log] [blame]
henrike@webrtc.orgf0488722014-05-13 18:00:26 +00001/*
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020011#include "rtc_base/event.h"
12#include "rtc_base/gunit.h"
henrike@webrtc.orgf0488722014-05-13 18:00:26 +000013
14namespace rtc {
15
16TEST(EventTest, InitiallySignaled) {
17 Event event(false, true);
18 ASSERT_TRUE(event.Wait(0));
19}
20
21TEST(EventTest, ManualReset) {
22 Event event(true, false);
23 ASSERT_FALSE(event.Wait(0));
24
25 event.Set();
26 ASSERT_TRUE(event.Wait(0));
27 ASSERT_TRUE(event.Wait(0));
28
29 event.Reset();
30 ASSERT_FALSE(event.Wait(0));
31}
32
33TEST(EventTest, AutoReset) {
34 Event event(false, false);
35 ASSERT_FALSE(event.Wait(0));
36
37 event.Set();
38 ASSERT_TRUE(event.Wait(0));
39 ASSERT_FALSE(event.Wait(0));
40}
41
42} // namespace rtc