def test_index_and_slice(self, size):
        t = (None,) * size
        self.assertEquals(len(t), size)
        self.assertEquals(t[-1], None)
        self.assertEquals(t[5], None)
        self.assertEquals(t[size - 1], None)
        self.assertRaises(IndexError, operator.getitem, t, size)
        self.assertEquals(t[:5], (None,) * 5)
        self.assertEquals(t[-5:], (None,) * 5)
        self.assertEquals(t[20:25], (None,) * 5)
        self.assertEquals(t[-25:-20], (None,) * 5)
        self.assertEquals(t[size - 5:], (None,) * 5)
        self.assertEquals(t[size - 5:size], (None,) * 5)
        self.assertEquals(t[size - 6:size - 2], (None,) * 4)
        self.assertEquals(t[size:size], ())
        self.assertEquals(t[size:size+5], ())