Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TEST(SharedPtr_TestsByMaksimka, Release_WorkPlease) {
- int* ptr = new int(3);
- SharedPtr<int> shared_ptr1(ptr);
- SharedPtr<int> shared_ptr2 = shared_ptr1;
- shared_ptr1.Release();
- SharedPtr<int> shared_ptr3 = shared_ptr1;
- ASSERT_EQ(shared_ptr3.Get(), nullptr);
- ASSERT_EQ(shared_ptr2.Get(), ptr);
- delete ptr;
- }
- TEST(SharedPtr_TestsByMaksimka, Release_WhereIsMyMemory) {
- // while (true)
- {
- int* ptr = new int(7);
- SharedPtr<int> shared_ptr(ptr);
- SharedPtr<int> shared_ptr2 = shared_ptr;
- SharedPtr<int> shared_ptr3 = std::move(shared_ptr);
- shared_ptr2.Release();
- ASSERT_EQ(shared_ptr2.Get(), nullptr);
- ASSERT_EQ(shared_ptr3.Get(), ptr);
- shared_ptr3.Release();
- ASSERT_EQ(shared_ptr2.Get(), nullptr);
- ASSERT_EQ(shared_ptr3.Get(), nullptr);
- delete ptr;
- }
- }
- TEST(SharedPtr_TestsByMaksimka, Release_Test) {
- SharedPtr<int> a;
- SharedPtr<int> b = a;
- int* x = new int(-7);
- b = SharedPtr<int>(x);
- }
- TEST(SharedPtr_TestsByMaksimka, Destructor_Test) {
- int var2 = 31;
- int* ptr_var = new int(77);
- SharedPtr<int> shared_ptr_var(ptr_var);
- ASSERT_EQ(*shared_ptr_var.Get(), *ptr_var);
- ASSERT_EQ(*shared_ptr_var, *ptr_var);
- *shared_ptr_var = var2;
- ASSERT_EQ(*shared_ptr_var.Get(), var2);
- ASSERT_EQ(*shared_ptr_var, var2);
- ASSERT_EQ(*ptr_var, var2);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement