@@ -52,4 +52,40 @@ def test_maxlen_value(self):
5252 self .assertRaises (OverflowError , deque , [], - 1 << 64 )
5353 self .assertRaisesMessage (ValueError , "maxlen must be non-negative" , deque , [], - 1 )
5454
55+
56+ def test_add (self ):
57+ d1 = deque ([1 , 2 , 3 ], maxlen = 6 )
58+ d2 = deque ([4 , 5 , 6 ], maxlen = 4 )
59+ d2 = deque ([4 , 5 , 6 ])
60+ d3 = d1 + d2
61+ self .assertEqual (d3 , deque ([1 , 2 , 3 , 4 , 5 , 6 ]))
62+ self .assertIsInstance (d3 , deque )
63+ self .assertEqual (d3 .maxlen , 6 )
64+
65+ class Deque (deque ): pass
66+ sd1 = Deque ([1 , 2 , 3 ])
67+ sd2 = Deque ([4 , 5 , 6 ])
68+ sd3 = sd1 + sd2
69+ self .assertEqual (sd3 , deque ([1 , 2 , 3 , 4 , 5 , 6 ]))
70+ self .assertIsInstance (sd3 , Deque )
71+
72+
73+ def test_multiply (self ):
74+ class Deque (deque ): pass
75+ d1 = Deque ([1 , 2 , 3 ], maxlen = 6 )
76+ d2 = d1 * 2
77+ self .assertEqual (d2 , deque ([1 , 2 , 3 , 1 , 2 , 3 ]))
78+ self .assertIsInstance (d2 , deque )
79+
80+
81+ def test_copy (self ):
82+ import copy
83+ class Deque (deque ): pass
84+ original = Deque ([1 , 2 , 3 ], 6 )
85+ copy_instance = copy .copy (original )
86+ self .assertEqual (original , copy_instance )
87+ self .assertIsNot (original , copy_instance )
88+ self .assertIsInstance (copy_instance , deque )
89+
90+
5591run_test (__name__ )
0 commit comments