1/*
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
11#include "webrtc/base/event.h"
12#include "webrtc/base/gunit.h"
13
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
43