summaryrefslogtreecommitdiffstats
path: root/emulator/opengl/shared/emugl/common/smart_ptr_unittest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'emulator/opengl/shared/emugl/common/smart_ptr_unittest.cpp')
-rw-r--r--emulator/opengl/shared/emugl/common/smart_ptr_unittest.cpp140
1 files changed, 0 insertions, 140 deletions
diff --git a/emulator/opengl/shared/emugl/common/smart_ptr_unittest.cpp b/emulator/opengl/shared/emugl/common/smart_ptr_unittest.cpp
deleted file mode 100644
index db9e5f2a0..000000000
--- a/emulator/opengl/shared/emugl/common/smart_ptr_unittest.cpp
+++ /dev/null
@@ -1,140 +0,0 @@
-// Copyright (C) 2014 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#include "emugl/common/smart_ptr.h"
-
-#include <gtest/gtest.h>
-
-namespace emugl {
-
-// This Test sub-class is used to track allocations and deallocations of
-// the MyTestClass instances that are created through newInstance().
-// See below for typical usage.
-class SmartPtrTest : public testing::Test {
-public:
- SmartPtrTest() : mNewCount(0), mDeleteCount(0), mDoCount(0) {}
-
- ~SmartPtrTest() {
- mNewCount = 0;
- mDoCount = 0;
- mDeleteCount = 0;
- }
-
- class MyClass;
-
- MyClass* newInstance() {
- return new MyClass(this);
- }
-
- class MyClass {
- public:
- MyClass(SmartPtrTest* test) : mTest(test) {
- mTest->mNewCount++;
- }
-
- void doStuff() {
- mTest->mDoCount++;
- }
-
- ~MyClass() {
- mTest->mDeleteCount++;
- }
- private:
- SmartPtrTest* mTest;
- };
-
- int mNewCount;
- int mDeleteCount;
- int mDoCount;
-};
-
-
-TEST_F(SmartPtrTest, Empty) {
- SmartPtr<MyClass> ptr;
- EXPECT_FALSE(ptr.Ptr());
-
- EXPECT_EQ(0, mNewCount);
- EXPECT_EQ(0, mDeleteCount);
- EXPECT_EQ(0, mDoCount);
-}
-
-
-TEST_F(SmartPtrTest, SingleRef) {
- MyClass* obj = newInstance();
- EXPECT_EQ(1, mNewCount);
-
- {
- SmartPtr<MyClass> ptr(obj);
- EXPECT_EQ(obj, ptr.Ptr());
-
- EXPECT_EQ(1, mNewCount);
- EXPECT_EQ(0, mDeleteCount);
- EXPECT_EQ(0, mDoCount);
- }
- // Check that the object was deleted.
- EXPECT_EQ(1, mDeleteCount);
-}
-
-
-TEST_F(SmartPtrTest, CopyConstructor) {
- MyClass* obj = newInstance();
- EXPECT_EQ(1, mNewCount);
-
- {
- SmartPtr<MyClass> ptr1(obj);
- {
- SmartPtr<MyClass> ptr2(ptr1);
- EXPECT_EQ(2, ptr1.getRefCount());
- EXPECT_EQ(2, ptr2.getRefCount());
- EXPECT_EQ(1, mNewCount);
- EXPECT_EQ(0, mDeleteCount);
- EXPECT_EQ(0, mDoCount);
- }
- EXPECT_EQ(1, mNewCount);
- EXPECT_EQ(0, mDeleteCount);
- EXPECT_EQ(0, mDoCount);
- }
- EXPECT_EQ(1, mNewCount);
- EXPECT_EQ(1, mDeleteCount);
- EXPECT_EQ(0, mDoCount);
-}
-
-
-TEST_F(SmartPtrTest, AssignmentOperator) {
- SmartPtr<MyClass> ptr1(newInstance());
- SmartPtr<MyClass> ptr2(newInstance());
- EXPECT_EQ(2, mNewCount);
- EXPECT_EQ(0, mDeleteCount);
- EXPECT_EQ(0, mDoCount);
-
- ptr2 = ptr1;
- EXPECT_EQ(2, mNewCount);
- EXPECT_EQ(1, mDeleteCount);
-
- EXPECT_EQ(ptr1.Ptr(), ptr2.Ptr());
- EXPECT_EQ(2, ptr1.getRefCount());
- EXPECT_EQ(2, ptr2.getRefCount());
-}
-
-
-TEST_F(SmartPtrTest, ArrowOperator) {
- SmartPtr<MyClass> ptr(newInstance());
- ptr->doStuff();
- EXPECT_EQ(1, mDoCount);
-
- (*ptr).doStuff();
- EXPECT_EQ(2, mDoCount);
-}
-
-} // namespace emugl