1f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org/*
2f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org *  Copyright 2004 The WebRTC Project Authors. All rights reserved.
3f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org *
4f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org *  Use of this source code is governed by a BSD-style license
5f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org *  that can be found in the LICENSE file in the root of the source
6f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org *  tree. An additional intellectual property rights grant can be found
7f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org *  in the file PATENTS.  All contributing project authors may
8f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org *  be found in the AUTHORS file in the root of the source tree.
9f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org */
10f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org
11f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org#include "webrtc/base/event.h"
12f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org#include "webrtc/base/gunit.h"
13f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org
14f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.orgnamespace rtc {
15f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org
16f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.orgTEST(EventTest, InitiallySignaled) {
17f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  Event event(false, true);
18f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  ASSERT_TRUE(event.Wait(0));
19f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org}
20f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org
21f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.orgTEST(EventTest, ManualReset) {
22f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  Event event(true, false);
23f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  ASSERT_FALSE(event.Wait(0));
24f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org
25f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  event.Set();
26f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  ASSERT_TRUE(event.Wait(0));
27f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  ASSERT_TRUE(event.Wait(0));
28f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org
29f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  event.Reset();
30f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  ASSERT_FALSE(event.Wait(0));
31f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org}
32f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org
33f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.orgTEST(EventTest, AutoReset) {
34f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  Event event(false, false);
35f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  ASSERT_FALSE(event.Wait(0));
36f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org
37f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  event.Set();
38f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  ASSERT_TRUE(event.Wait(0));
39f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  ASSERT_FALSE(event.Wait(0));
40f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org}
41f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org
42f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org}  // namespace rtc
43