bpo-39966: Revert "bpo-25597: Ensure wraps' return value is used for magic methods in MagicMock" (GH-19734)

* Revert "bpo-25597: Ensure wraps' return value is used for magic methods in MagicMock (#16029)"

This reverts commit 72b1004657e60c900e4cd031b2635b587f4b280e.
diff --git a/Lib/unittest/test/testmock/testmock.py b/Lib/unittest/test/testmock/testmock.py
index 9b9e066..ce674e7 100644
--- a/Lib/unittest/test/testmock/testmock.py
+++ b/Lib/unittest/test/testmock/testmock.py
@@ -716,12 +716,16 @@
 
 
     def test_magic_method_wraps_dict(self):
+        # bpo-25597: MagicMock with wrap doesn't call wrapped object's
+        # method for magic methods with default values.
         data = {'foo': 'bar'}
 
         wrapped_dict = MagicMock(wraps=data)
         self.assertEqual(wrapped_dict.get('foo'), 'bar')
-        self.assertEqual(wrapped_dict['foo'], 'bar')
-        self.assertTrue('foo' in wrapped_dict)
+        # Accessing key gives a MagicMock
+        self.assertIsInstance(wrapped_dict['foo'], MagicMock)
+        # __contains__ method has a default value of False
+        self.assertFalse('foo' in wrapped_dict)
 
         # return_value is non-sentinel and takes precedence over wrapped value.
         wrapped_dict.get.return_value = 'return_value'
@@ -732,14 +736,13 @@
         self.assertEqual(wrapped_dict.get('foo'), 'bar')
 
         self.assertEqual(wrapped_dict.get('baz'), None)
-        with self.assertRaises(KeyError):
-            wrapped_dict['baz']
+        self.assertIsInstance(wrapped_dict['baz'], MagicMock)
         self.assertFalse('bar' in wrapped_dict)
 
         data['baz'] = 'spam'
         self.assertEqual(wrapped_dict.get('baz'), 'spam')
-        self.assertEqual(wrapped_dict['baz'], 'spam')
-        self.assertTrue('baz' in wrapped_dict)
+        self.assertIsInstance(wrapped_dict['baz'], MagicMock)
+        self.assertFalse('bar' in wrapped_dict)
 
         del data['baz']
         self.assertEqual(wrapped_dict.get('baz'), None)
@@ -759,6 +762,7 @@
         klass = MagicMock(wraps=Foo)
         obj = klass()
         self.assertEqual(obj.__getitem__(2), 2)
+        self.assertEqual(obj[2], 2)
         self.assertEqual(obj.__custom_method__(), "foo")