@@ -918,23 +918,26 @@ def test_copying(self):
918918 words = Counter ('which witch had which witches wrist watch' .split ())
919919 update_test = Counter ()
920920 update_test .update (words )
921- for i , dup in enumerate ([
922- words .copy (),
923- copy .copy (words ),
924- copy .deepcopy (words ),
925- pickle .loads (pickle .dumps (words , 0 )),
926- pickle .loads (pickle .dumps (words , 1 )),
927- pickle .loads (pickle .dumps (words , 2 )),
928- pickle .loads (pickle .dumps (words , - 1 )),
929- eval (repr (words )),
930- update_test ,
931- Counter (words ),
932- ]):
933- msg = (i , dup , words )
934- self .assertTrue (dup is not words )
935- self .assertEqual (dup , words )
936- self .assertEqual (len (dup ), len (words ))
937- self .assertEqual (type (dup ), type (words ))
921+ for label , dup in [
922+ ('words.copy()' , words .copy ()),
923+ ('copy.copy(words)' , copy .copy (words )),
924+ ('copy.deepcopy(words)' , copy .deepcopy (words )),
925+ ('pickle.loads(pickle.dumps(words, 0))' ,
926+ pickle .loads (pickle .dumps (words , 0 ))),
927+ ('pickle.loads(pickle.dumps(words, 1))' ,
928+ pickle .loads (pickle .dumps (words , 1 ))),
929+ ('pickle.loads(pickle.dumps(words, 2))' ,
930+ pickle .loads (pickle .dumps (words , 2 ))),
931+ ('pickle.loads(pickle.dumps(words, -1))' ,
932+ pickle .loads (pickle .dumps (words , - 1 ))),
933+ ('eval(repr(words))' , eval (repr (words ))),
934+ ('update_test' , update_test ),
935+ ('Counter(words)' , Counter (words )),
936+ ]:
937+ with self .subTest (label = label ):
938+ msg = "\n copy: %s\n words: %s" % (dup , words )
939+ self .assertIsNot (dup , words , msg )
940+ self .assertEqual (dup , words )
938941
939942 def test_copy_subclass (self ):
940943 class MyCounter (Counter ):
@@ -1213,24 +1216,28 @@ def test_copying(self):
12131216 od = OrderedDict (pairs )
12141217 update_test = OrderedDict ()
12151218 update_test .update (od )
1216- for i , dup in enumerate ([
1217- od .copy (),
1218- copy .copy (od ),
1219- copy .deepcopy (od ),
1220- pickle .loads (pickle .dumps (od , 0 )),
1221- pickle .loads (pickle .dumps (od , 1 )),
1222- pickle .loads (pickle .dumps (od , 2 )),
1223- pickle .loads (pickle .dumps (od , 3 )),
1224- pickle .loads (pickle .dumps (od , - 1 )),
1225- eval (repr (od )),
1226- update_test ,
1227- OrderedDict (od ),
1228- ]):
1229- self .assertTrue (dup is not od )
1230- self .assertEqual (dup , od )
1231- self .assertEqual (list (dup .items ()), list (od .items ()))
1232- self .assertEqual (len (dup ), len (od ))
1233- self .assertEqual (type (dup ), type (od ))
1219+ for label , dup in [
1220+ ('od.copy()' , od .copy ()),
1221+ ('copy.copy(od)' , copy .copy (od )),
1222+ ('copy.deepcopy(od)' , copy .deepcopy (od )),
1223+ ('pickle.loads(pickle.dumps(od, 0))' ,
1224+ pickle .loads (pickle .dumps (od , 0 ))),
1225+ ('pickle.loads(pickle.dumps(od, 1))' ,
1226+ pickle .loads (pickle .dumps (od , 1 ))),
1227+ ('pickle.loads(pickle.dumps(od, 2))' ,
1228+ pickle .loads (pickle .dumps (od , 2 ))),
1229+ ('pickle.loads(pickle.dumps(od, 3))' ,
1230+ pickle .loads (pickle .dumps (od , 3 ))),
1231+ ('pickle.loads(pickle.dumps(od, -1))' ,
1232+ pickle .loads (pickle .dumps (od , - 1 ))),
1233+ ('eval(repr(od))' , eval (repr (od ))),
1234+ ('update_test' , update_test ),
1235+ ('OrderedDict(od)' , OrderedDict (od )),
1236+ ]:
1237+ with self .subTest (label = label ):
1238+ msg = "\n copy: %s\n od: %s" % (dup , od )
1239+ self .assertIsNot (dup , od , msg )
1240+ self .assertEqual (dup , od )
12341241
12351242 def test_yaml_linkage (self ):
12361243 # Verify that __reduce__ is setup in a way that supports PyYAML's dump() feature.
0 commit comments