1// Copyright (c) 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "base/memory/ref_counted.h"
6#include "testing/gtest/include/gtest/gtest.h"
7
8struct Foo : public base::RefCounted<Foo> {
9  int dummy;
10};
11
12void TestFunction() {
13  scoped_refptr<Foo> a;
14  Foo* b;
15
16  ASSERT_EQ(a.get(), b);
17  ASSERT_EQ(b, a.get());
18  EXPECT_EQ(a.get(), b);
19  EXPECT_EQ(b, a.get());
20
21  ASSERT_NE(a.get(), b);
22  ASSERT_NE(b, a.get());
23  EXPECT_NE(a.get(), b);
24  EXPECT_NE(b, a.get());
25
26  ASSERT_TRUE(a.get());
27  ASSERT_FALSE(!a.get());
28  EXPECT_TRUE(a.get());
29  EXPECT_FALSE(!a.get());
30}
31