def test_empty(self): s1 = Stack() s2 = Stack() c1 = Card(0, 0) c2 = Card(0, 1) c3 = Card(0, 2) c4 = Card(0, 3) s1 = s1 + c1 + c2 + c3 + c4 s2.cards = s1.cards[:] s1.empty() self.assertEqual(len(s1), 0) self.assertEqual(str(s1), 'is empty') with self.assertRaises(IndexError): s1[0] with self.assertRaises(IndexError): s1[-1] s1 = s1 - c1 self.assertEqual(len(s1), 0) s2 = s2 + s1 self.assertEqual(len(s2), 4)
def test_sub(self): s1 = Stack() s2 = Stack() s3 = Stack() c1 = Card(0, 0) c2 = Card(0, 1) c3 = Card(0, 2) c4 = Card(0, 3) s3 += c1 s3 += c2 s1 = s1 + c1 + c2 + c3 s2.cards = s1.cards[:] s1 = s1 - c1 s1 = s1 - c4 self.assertFalse(c1 in s1) self.assertEqual(len(s1), 2) self.assertFalse(c4 in s1) self.assertEqual(len(s2), 3) self.assertEqual(len(s3), 2) s2 = s2.__sub__(s3) self.assertTrue(isinstance(s3, Stack)) self.assertEqual(len(s3), 2) self.assertEqual(len(s2), 1) self.assertTrue(c3 in s2) self.assertFalse(c1 in s2)