Ejemplo n.º 1
0
    def test_hack_tuple_recursive(self):

        mytuple = (1, 2, 3)
        self.assertRaises(TypeError, _tuple_set_item, list(mytuple), 1, mytuple)

        _tuple_set_item(mytuple, 1, mytuple)
        self.assertIs(mytuple[1], mytuple)
Ejemplo n.º 2
0
    def test_tuple_set_item(self):
        a = 'foo '.strip()
        test_tuple = (1, a, 3)
        new_value = 'hello world'

        a_refs = getref(a)
        new_value_refs = getref(new_value)
        _tuple_set_item(test_tuple, 1, new_value)

        self.assertEqual(a_refs, getref(a))
        self.assertEqual(new_value_refs, getref(new_value))
Ejemplo n.º 3
0
        def run_test():
            mytuple = tuple([1, 2, 3])

            rfc = getrefptr(mytuple)

            self.assertTrue(gc.is_tracked(mytuple))
            self.assertEqual(rfc.value, 1)
            b = mytuple
            self.assertEqual(rfc.value, 2)
            del b
            self.assertEqual(rfc.value, 1)

            _tuple_set_item(mytuple, 1, mytuple)
            self.assertEqual(rfc.value, 1)

            mytuple = None
            del mytuple
            return rfc