Format the codebase using Black (#2109)
This commit: 1. Formats all of our existing code using `black`. 2. Adds a note about using `black` to `CONTRIBUTING.rst`. 3. Runs `black --check` as part of CI (failing builds that aren't properly formatted).
This commit is contained in:
		| @@ -14,128 +14,129 @@ class DocumentStub(object): | ||||
|  | ||||
|  | ||||
| class TestBaseDict(unittest.TestCase): | ||||
|  | ||||
|     @staticmethod | ||||
|     def _get_basedict(dict_items): | ||||
|         """Get a BaseList bound to a fake document instance""" | ||||
|         fake_doc = DocumentStub() | ||||
|         base_list = BaseDict(dict_items, instance=None, name='my_name') | ||||
|         base_list._instance = fake_doc  # hack to inject the mock, it does not work in the constructor | ||||
|         base_list = BaseDict(dict_items, instance=None, name="my_name") | ||||
|         base_list._instance = ( | ||||
|             fake_doc | ||||
|         )  # hack to inject the mock, it does not work in the constructor | ||||
|         return base_list | ||||
|  | ||||
|     def test___init___(self): | ||||
|         class MyDoc(Document): | ||||
|             pass | ||||
|  | ||||
|         dict_items = {'k': 'v'} | ||||
|         dict_items = {"k": "v"} | ||||
|         doc = MyDoc() | ||||
|         base_dict = BaseDict(dict_items, instance=doc, name='my_name') | ||||
|         base_dict = BaseDict(dict_items, instance=doc, name="my_name") | ||||
|         self.assertIsInstance(base_dict._instance, Document) | ||||
|         self.assertEqual(base_dict._name, 'my_name') | ||||
|         self.assertEqual(base_dict._name, "my_name") | ||||
|         self.assertEqual(base_dict, dict_items) | ||||
|  | ||||
|     def test_setdefault_calls_mark_as_changed(self): | ||||
|         base_dict = self._get_basedict({}) | ||||
|         base_dict.setdefault('k', 'v') | ||||
|         base_dict.setdefault("k", "v") | ||||
|         self.assertEqual(base_dict._instance._changed_fields, [base_dict._name]) | ||||
|  | ||||
|     def test_popitems_calls_mark_as_changed(self): | ||||
|         base_dict = self._get_basedict({'k': 'v'}) | ||||
|         self.assertEqual(base_dict.popitem(), ('k', 'v')) | ||||
|         base_dict = self._get_basedict({"k": "v"}) | ||||
|         self.assertEqual(base_dict.popitem(), ("k", "v")) | ||||
|         self.assertEqual(base_dict._instance._changed_fields, [base_dict._name]) | ||||
|         self.assertFalse(base_dict) | ||||
|  | ||||
|     def test_pop_calls_mark_as_changed(self): | ||||
|         base_dict = self._get_basedict({'k': 'v'}) | ||||
|         self.assertEqual(base_dict.pop('k'), 'v') | ||||
|         base_dict = self._get_basedict({"k": "v"}) | ||||
|         self.assertEqual(base_dict.pop("k"), "v") | ||||
|         self.assertEqual(base_dict._instance._changed_fields, [base_dict._name]) | ||||
|         self.assertFalse(base_dict) | ||||
|  | ||||
|     def test_pop_calls_does_not_mark_as_changed_when_it_fails(self): | ||||
|         base_dict = self._get_basedict({'k': 'v'}) | ||||
|         base_dict = self._get_basedict({"k": "v"}) | ||||
|         with self.assertRaises(KeyError): | ||||
|             base_dict.pop('X') | ||||
|             base_dict.pop("X") | ||||
|         self.assertFalse(base_dict._instance._changed_fields) | ||||
|  | ||||
|     def test_clear_calls_mark_as_changed(self): | ||||
|         base_dict = self._get_basedict({'k': 'v'}) | ||||
|         base_dict = self._get_basedict({"k": "v"}) | ||||
|         base_dict.clear() | ||||
|         self.assertEqual(base_dict._instance._changed_fields, ['my_name']) | ||||
|         self.assertEqual(base_dict._instance._changed_fields, ["my_name"]) | ||||
|         self.assertEqual(base_dict, {}) | ||||
|  | ||||
|     def test___delitem___calls_mark_as_changed(self): | ||||
|         base_dict = self._get_basedict({'k': 'v'}) | ||||
|         del base_dict['k'] | ||||
|         self.assertEqual(base_dict._instance._changed_fields, ['my_name.k']) | ||||
|         base_dict = self._get_basedict({"k": "v"}) | ||||
|         del base_dict["k"] | ||||
|         self.assertEqual(base_dict._instance._changed_fields, ["my_name.k"]) | ||||
|         self.assertEqual(base_dict, {}) | ||||
|  | ||||
|     def test___getitem____KeyError(self): | ||||
|         base_dict = self._get_basedict({}) | ||||
|         with self.assertRaises(KeyError): | ||||
|             base_dict['new'] | ||||
|             base_dict["new"] | ||||
|  | ||||
|     def test___getitem____simple_value(self): | ||||
|         base_dict = self._get_basedict({'k': 'v'}) | ||||
|         base_dict['k'] = 'v' | ||||
|         base_dict = self._get_basedict({"k": "v"}) | ||||
|         base_dict["k"] = "v" | ||||
|  | ||||
|     def test___getitem____sublist_gets_converted_to_BaseList(self): | ||||
|         base_dict = self._get_basedict({'k': [0, 1, 2]}) | ||||
|         sub_list = base_dict['k'] | ||||
|         base_dict = self._get_basedict({"k": [0, 1, 2]}) | ||||
|         sub_list = base_dict["k"] | ||||
|         self.assertEqual(sub_list, [0, 1, 2]) | ||||
|         self.assertIsInstance(sub_list, BaseList) | ||||
|         self.assertIs(sub_list._instance, base_dict._instance) | ||||
|         self.assertEqual(sub_list._name, 'my_name.k') | ||||
|         self.assertEqual(sub_list._name, "my_name.k") | ||||
|         self.assertEqual(base_dict._instance._changed_fields, []) | ||||
|  | ||||
|         # Challenge mark_as_changed from sublist | ||||
|         sub_list[1] = None | ||||
|         self.assertEqual(base_dict._instance._changed_fields, ['my_name.k.1']) | ||||
|         self.assertEqual(base_dict._instance._changed_fields, ["my_name.k.1"]) | ||||
|  | ||||
|     def test___getitem____subdict_gets_converted_to_BaseDict(self): | ||||
|         base_dict = self._get_basedict({'k': {'subk': 'subv'}}) | ||||
|         sub_dict = base_dict['k'] | ||||
|         self.assertEqual(sub_dict, {'subk': 'subv'}) | ||||
|         base_dict = self._get_basedict({"k": {"subk": "subv"}}) | ||||
|         sub_dict = base_dict["k"] | ||||
|         self.assertEqual(sub_dict, {"subk": "subv"}) | ||||
|         self.assertIsInstance(sub_dict, BaseDict) | ||||
|         self.assertIs(sub_dict._instance, base_dict._instance) | ||||
|         self.assertEqual(sub_dict._name, 'my_name.k') | ||||
|         self.assertEqual(sub_dict._name, "my_name.k") | ||||
|         self.assertEqual(base_dict._instance._changed_fields, []) | ||||
|  | ||||
|         # Challenge mark_as_changed from subdict | ||||
|         sub_dict['subk'] = None | ||||
|         self.assertEqual(base_dict._instance._changed_fields, ['my_name.k.subk']) | ||||
|         sub_dict["subk"] = None | ||||
|         self.assertEqual(base_dict._instance._changed_fields, ["my_name.k.subk"]) | ||||
|  | ||||
|     def test_get_sublist_gets_converted_to_BaseList_just_like__getitem__(self): | ||||
|         base_dict = self._get_basedict({'k': [0, 1, 2]}) | ||||
|         sub_list = base_dict.get('k') | ||||
|         base_dict = self._get_basedict({"k": [0, 1, 2]}) | ||||
|         sub_list = base_dict.get("k") | ||||
|         self.assertEqual(sub_list, [0, 1, 2]) | ||||
|         self.assertIsInstance(sub_list, BaseList) | ||||
|  | ||||
|     def test_get_returns_the_same_as___getitem__(self): | ||||
|         base_dict = self._get_basedict({'k': [0, 1, 2]}) | ||||
|         get_ = base_dict.get('k') | ||||
|         getitem_ = base_dict['k'] | ||||
|         base_dict = self._get_basedict({"k": [0, 1, 2]}) | ||||
|         get_ = base_dict.get("k") | ||||
|         getitem_ = base_dict["k"] | ||||
|         self.assertEqual(get_, getitem_) | ||||
|  | ||||
|     def test_get_default(self): | ||||
|         base_dict = self._get_basedict({}) | ||||
|         sentinel = object() | ||||
|         self.assertEqual(base_dict.get('new'), None) | ||||
|         self.assertIs(base_dict.get('new', sentinel), sentinel) | ||||
|         self.assertEqual(base_dict.get("new"), None) | ||||
|         self.assertIs(base_dict.get("new", sentinel), sentinel) | ||||
|  | ||||
|     def test___setitem___calls_mark_as_changed(self): | ||||
|         base_dict = self._get_basedict({}) | ||||
|         base_dict['k'] = 'v' | ||||
|         self.assertEqual(base_dict._instance._changed_fields, ['my_name.k']) | ||||
|         self.assertEqual(base_dict, {'k': 'v'}) | ||||
|         base_dict["k"] = "v" | ||||
|         self.assertEqual(base_dict._instance._changed_fields, ["my_name.k"]) | ||||
|         self.assertEqual(base_dict, {"k": "v"}) | ||||
|  | ||||
|     def test_update_calls_mark_as_changed(self): | ||||
|         base_dict = self._get_basedict({}) | ||||
|         base_dict.update({'k': 'v'}) | ||||
|         self.assertEqual(base_dict._instance._changed_fields, ['my_name']) | ||||
|         base_dict.update({"k": "v"}) | ||||
|         self.assertEqual(base_dict._instance._changed_fields, ["my_name"]) | ||||
|  | ||||
|     def test___setattr____not_tracked_by_changes(self): | ||||
|         base_dict = self._get_basedict({}) | ||||
|         base_dict.a_new_attr = 'test' | ||||
|         base_dict.a_new_attr = "test" | ||||
|         self.assertEqual(base_dict._instance._changed_fields, []) | ||||
|  | ||||
|     def test___delattr____tracked_by_changes(self): | ||||
| @@ -143,19 +144,20 @@ class TestBaseDict(unittest.TestCase): | ||||
|         # This is even bad because it could be that there is an attribute | ||||
|         # with the same name as a key | ||||
|         base_dict = self._get_basedict({}) | ||||
|         base_dict.a_new_attr = 'test' | ||||
|         base_dict.a_new_attr = "test" | ||||
|         del base_dict.a_new_attr | ||||
|         self.assertEqual(base_dict._instance._changed_fields, ['my_name.a_new_attr']) | ||||
|         self.assertEqual(base_dict._instance._changed_fields, ["my_name.a_new_attr"]) | ||||
|  | ||||
|  | ||||
| class TestBaseList(unittest.TestCase): | ||||
|  | ||||
|     @staticmethod | ||||
|     def _get_baselist(list_items): | ||||
|         """Get a BaseList bound to a fake document instance""" | ||||
|         fake_doc = DocumentStub() | ||||
|         base_list = BaseList(list_items, instance=None, name='my_name') | ||||
|         base_list._instance = fake_doc  # hack to inject the mock, it does not work in the constructor | ||||
|         base_list = BaseList(list_items, instance=None, name="my_name") | ||||
|         base_list._instance = ( | ||||
|             fake_doc | ||||
|         )  # hack to inject the mock, it does not work in the constructor | ||||
|         return base_list | ||||
|  | ||||
|     def test___init___(self): | ||||
| @@ -164,19 +166,19 @@ class TestBaseList(unittest.TestCase): | ||||
|  | ||||
|         list_items = [True] | ||||
|         doc = MyDoc() | ||||
|         base_list = BaseList(list_items, instance=doc, name='my_name') | ||||
|         base_list = BaseList(list_items, instance=doc, name="my_name") | ||||
|         self.assertIsInstance(base_list._instance, Document) | ||||
|         self.assertEqual(base_list._name, 'my_name') | ||||
|         self.assertEqual(base_list._name, "my_name") | ||||
|         self.assertEqual(base_list, list_items) | ||||
|  | ||||
|     def test___iter__(self): | ||||
|         values = [True, False, True, False] | ||||
|         base_list = BaseList(values, instance=None, name='my_name') | ||||
|         base_list = BaseList(values, instance=None, name="my_name") | ||||
|         self.assertEqual(values, list(base_list)) | ||||
|  | ||||
|     def test___iter___allow_modification_while_iterating_withou_error(self): | ||||
|         # regular list allows for this, thus this subclass must comply to that | ||||
|         base_list = BaseList([True, False, True, False], instance=None, name='my_name') | ||||
|         base_list = BaseList([True, False, True, False], instance=None, name="my_name") | ||||
|         for idx, val in enumerate(base_list): | ||||
|             if val: | ||||
|                 base_list.pop(idx) | ||||
| @@ -185,7 +187,7 @@ class TestBaseList(unittest.TestCase): | ||||
|         base_list = self._get_baselist([]) | ||||
|         self.assertFalse(base_list._instance._changed_fields) | ||||
|         base_list.append(True) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name']) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name"]) | ||||
|  | ||||
|     def test_subclass_append(self): | ||||
|         # Due to the way mark_as_changed_wrapper is implemented | ||||
| @@ -193,7 +195,7 @@ class TestBaseList(unittest.TestCase): | ||||
|         class SubBaseList(BaseList): | ||||
|             pass | ||||
|  | ||||
|         base_list = SubBaseList([], instance=None, name='my_name') | ||||
|         base_list = SubBaseList([], instance=None, name="my_name") | ||||
|         base_list.append(True) | ||||
|  | ||||
|     def test___getitem__using_simple_index(self): | ||||
| @@ -217,54 +219,45 @@ class TestBaseList(unittest.TestCase): | ||||
|         self.assertEqual(base_list._instance._changed_fields, []) | ||||
|  | ||||
|     def test___getitem__sublist_returns_BaseList_bound_to_instance(self): | ||||
|         base_list = self._get_baselist( | ||||
|             [ | ||||
|                 [1, 2], | ||||
|                 [3, 4] | ||||
|             ] | ||||
|         ) | ||||
|         base_list = self._get_baselist([[1, 2], [3, 4]]) | ||||
|         sub_list = base_list[0] | ||||
|         self.assertEqual(sub_list, [1, 2]) | ||||
|         self.assertIsInstance(sub_list, BaseList) | ||||
|         self.assertIs(sub_list._instance, base_list._instance) | ||||
|         self.assertEqual(sub_list._name, 'my_name.0') | ||||
|         self.assertEqual(sub_list._name, "my_name.0") | ||||
|         self.assertEqual(base_list._instance._changed_fields, []) | ||||
|  | ||||
|         # Challenge mark_as_changed from sublist | ||||
|         sub_list[1] = None | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name.0.1']) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name.0.1"]) | ||||
|  | ||||
|     def test___getitem__subdict_returns_BaseList_bound_to_instance(self): | ||||
|         base_list = self._get_baselist( | ||||
|             [ | ||||
|                 {'subk': 'subv'} | ||||
|             ] | ||||
|         ) | ||||
|         base_list = self._get_baselist([{"subk": "subv"}]) | ||||
|         sub_dict = base_list[0] | ||||
|         self.assertEqual(sub_dict, {'subk': 'subv'}) | ||||
|         self.assertEqual(sub_dict, {"subk": "subv"}) | ||||
|         self.assertIsInstance(sub_dict, BaseDict) | ||||
|         self.assertIs(sub_dict._instance, base_list._instance) | ||||
|         self.assertEqual(sub_dict._name, 'my_name.0') | ||||
|         self.assertEqual(sub_dict._name, "my_name.0") | ||||
|         self.assertEqual(base_list._instance._changed_fields, []) | ||||
|  | ||||
|         # Challenge mark_as_changed from subdict | ||||
|         sub_dict['subk'] = None | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name.0.subk']) | ||||
|         sub_dict["subk"] = None | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name.0.subk"]) | ||||
|  | ||||
|     def test_extend_calls_mark_as_changed(self): | ||||
|         base_list = self._get_baselist([]) | ||||
|         base_list.extend([True]) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name']) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name"]) | ||||
|  | ||||
|     def test_insert_calls_mark_as_changed(self): | ||||
|         base_list = self._get_baselist([]) | ||||
|         base_list.insert(0, True) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name']) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name"]) | ||||
|  | ||||
|     def test_remove_calls_mark_as_changed(self): | ||||
|         base_list = self._get_baselist([True]) | ||||
|         base_list.remove(True) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name']) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name"]) | ||||
|  | ||||
|     def test_remove_not_mark_as_changed_when_it_fails(self): | ||||
|         base_list = self._get_baselist([True]) | ||||
| @@ -275,70 +268,76 @@ class TestBaseList(unittest.TestCase): | ||||
|     def test_pop_calls_mark_as_changed(self): | ||||
|         base_list = self._get_baselist([True]) | ||||
|         base_list.pop() | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name']) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name"]) | ||||
|  | ||||
|     def test_reverse_calls_mark_as_changed(self): | ||||
|         base_list = self._get_baselist([True, False]) | ||||
|         base_list.reverse() | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name']) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name"]) | ||||
|  | ||||
|     def test___delitem___calls_mark_as_changed(self): | ||||
|         base_list = self._get_baselist([True]) | ||||
|         del base_list[0] | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name']) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name"]) | ||||
|  | ||||
|     def test___setitem___calls_with_full_slice_mark_as_changed(self): | ||||
|         base_list = self._get_baselist([]) | ||||
|         base_list[:] = [0, 1]      # Will use __setslice__ under py2 and __setitem__ under py3 | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name']) | ||||
|         base_list[:] = [ | ||||
|             0, | ||||
|             1, | ||||
|         ]  # Will use __setslice__ under py2 and __setitem__ under py3 | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name"]) | ||||
|         self.assertEqual(base_list, [0, 1]) | ||||
|  | ||||
|     def test___setitem___calls_with_partial_slice_mark_as_changed(self): | ||||
|         base_list = self._get_baselist([0, 1, 2]) | ||||
|         base_list[0:2] = [1, 0]     # Will use __setslice__ under py2 and __setitem__ under py3 | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name']) | ||||
|         base_list[0:2] = [ | ||||
|             1, | ||||
|             0, | ||||
|         ]  # Will use __setslice__ under py2 and __setitem__ under py3 | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name"]) | ||||
|         self.assertEqual(base_list, [1, 0, 2]) | ||||
|  | ||||
|     def test___setitem___calls_with_step_slice_mark_as_changed(self): | ||||
|         base_list = self._get_baselist([0, 1, 2]) | ||||
|         base_list[0:3:2] = [-1, -2]   # uses __setitem__ in both py2 & 3 | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name']) | ||||
|         base_list[0:3:2] = [-1, -2]  # uses __setitem__ in both py2 & 3 | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name"]) | ||||
|         self.assertEqual(base_list, [-1, 1, -2]) | ||||
|  | ||||
|     def test___setitem___with_slice(self): | ||||
|         base_list = self._get_baselist([0, 1, 2, 3, 4, 5]) | ||||
|         base_list[0:6:2] = [None, None, None] | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name']) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name"]) | ||||
|         self.assertEqual(base_list, [None, 1, None, 3, None, 5]) | ||||
|  | ||||
|     def test___setitem___item_0_calls_mark_as_changed(self): | ||||
|         base_list = self._get_baselist([True]) | ||||
|         base_list[0] = False | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name']) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name"]) | ||||
|         self.assertEqual(base_list, [False]) | ||||
|  | ||||
|     def test___setitem___item_1_calls_mark_as_changed(self): | ||||
|         base_list = self._get_baselist([True, True]) | ||||
|         base_list[1] = False | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name.1']) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name.1"]) | ||||
|         self.assertEqual(base_list, [True, False]) | ||||
|  | ||||
|     def test___delslice___calls_mark_as_changed(self): | ||||
|         base_list = self._get_baselist([0, 1]) | ||||
|         del base_list[0:1] | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name']) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name"]) | ||||
|         self.assertEqual(base_list, [1]) | ||||
|  | ||||
|     def test___iadd___calls_mark_as_changed(self): | ||||
|         base_list = self._get_baselist([True]) | ||||
|         base_list += [False] | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name']) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name"]) | ||||
|  | ||||
|     def test___imul___calls_mark_as_changed(self): | ||||
|         base_list = self._get_baselist([True]) | ||||
|         self.assertEqual(base_list._instance._changed_fields, []) | ||||
|         base_list *= 2 | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name']) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name"]) | ||||
|  | ||||
|     def test_sort_calls_not_marked_as_changed_when_it_fails(self): | ||||
|         base_list = self._get_baselist([True]) | ||||
| @@ -350,7 +349,7 @@ class TestBaseList(unittest.TestCase): | ||||
|     def test_sort_calls_mark_as_changed(self): | ||||
|         base_list = self._get_baselist([True, False]) | ||||
|         base_list.sort() | ||||
|         self.assertEqual(base_list._instance._changed_fields, ['my_name']) | ||||
|         self.assertEqual(base_list._instance._changed_fields, ["my_name"]) | ||||
|  | ||||
|     def test_sort_calls_with_key(self): | ||||
|         base_list = self._get_baselist([1, 2, 11]) | ||||
| @@ -371,7 +370,7 @@ class TestStrictDict(unittest.TestCase): | ||||
|  | ||||
|     def test_iterkeys(self): | ||||
|         d = self.dtype(a=1) | ||||
|         self.assertEqual(list(iterkeys(d)), ['a']) | ||||
|         self.assertEqual(list(iterkeys(d)), ["a"]) | ||||
|  | ||||
|     def test_len(self): | ||||
|         d = self.dtype(a=1) | ||||
| @@ -379,9 +378,9 @@ class TestStrictDict(unittest.TestCase): | ||||
|  | ||||
|     def test_pop(self): | ||||
|         d = self.dtype(a=1) | ||||
|         self.assertIn('a', d) | ||||
|         d.pop('a') | ||||
|         self.assertNotIn('a', d) | ||||
|         self.assertIn("a", d) | ||||
|         d.pop("a") | ||||
|         self.assertNotIn("a", d) | ||||
|  | ||||
|     def test_repr(self): | ||||
|         d = self.dtype(a=1, b=2, c=3) | ||||
| @@ -416,7 +415,7 @@ class TestStrictDict(unittest.TestCase): | ||||
|         d = self.dtype() | ||||
|         d.a = 1 | ||||
|         self.assertEqual(d.a, 1) | ||||
|         self.assertRaises(AttributeError, getattr, d, 'b') | ||||
|         self.assertRaises(AttributeError, getattr, d, "b") | ||||
|  | ||||
|     def test_setattr_raises_on_nonexisting_attr(self): | ||||
|         d = self.dtype() | ||||
| @@ -430,20 +429,20 @@ class TestStrictDict(unittest.TestCase): | ||||
|  | ||||
|     def test_get(self): | ||||
|         d = self.dtype(a=1) | ||||
|         self.assertEqual(d.get('a'), 1) | ||||
|         self.assertEqual(d.get('b', 'bla'), 'bla') | ||||
|         self.assertEqual(d.get("a"), 1) | ||||
|         self.assertEqual(d.get("b", "bla"), "bla") | ||||
|  | ||||
|     def test_items(self): | ||||
|         d = self.dtype(a=1) | ||||
|         self.assertEqual(d.items(), [('a', 1)]) | ||||
|         self.assertEqual(d.items(), [("a", 1)]) | ||||
|         d = self.dtype(a=1, b=2) | ||||
|         self.assertEqual(d.items(), [('a', 1), ('b', 2)]) | ||||
|         self.assertEqual(d.items(), [("a", 1), ("b", 2)]) | ||||
|  | ||||
|     def test_mappings_protocol(self): | ||||
|         d = self.dtype(a=1, b=2) | ||||
|         self.assertEqual(dict(d), {'a': 1, 'b': 2}) | ||||
|         self.assertEqual(dict(**d), {'a': 1, 'b': 2}) | ||||
|         self.assertEqual(dict(d), {"a": 1, "b": 2}) | ||||
|         self.assertEqual(dict(**d), {"a": 1, "b": 2}) | ||||
|  | ||||
|  | ||||
| if __name__ == '__main__': | ||||
| if __name__ == "__main__": | ||||
|     unittest.main() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user