Exemple #1
0
 def test_setIDFunction(self):
     """
     L{util.setIDFunction} returns the last value passed to it.
     """
     value = object()
     previous = util.setIDFunction(value)
     result = util.setIDFunction(previous)
     self.assertIdentical(value, result)
Exemple #2
0
    def test_unsignedID(self):
        """
        L{util.unsignedID} uses the function passed to L{util.setIDFunction} to
        determine the unique integer id of an object and then adjusts it to be
        positive if necessary.
        """
        foo = object()
        bar = object()

        # A fake object identity mapping
        objects = {foo: 17, bar: -73}
        def fakeId(obj):
            return objects[obj]

        util.setIDFunction(fakeId)

        self.assertEqual(util.unsignedID(foo), 17)
        self.assertEqual(util.unsignedID(bar), (sys.maxsize + 1) * 2 - 73)
Exemple #3
0
 def test_str(self):
     """
     The string representation of a L{DelayedCall} instance, as returned by
     C{str}, includes the unsigned id of the instance, as well as its state,
     the function to be called, and the function arguments.
     """
     dc = DelayedCall(12, nothing, (3, ), {"A": 5}, None, None, lambda: 1.5)
     ids = {dc: 200}
     def fakeID(obj):
         try:
             return ids[obj]
         except (TypeError, KeyError):
             return id(obj)
     self.addCleanup(setIDFunction, setIDFunction(fakeID))
     self.assertEqual(
         str(dc),
         "<DelayedCall 0xc8 [10.5s] called=0 cancelled=0 nothing(3, A=5)>")
Exemple #4
0
    def test_unsignedID(self):
        """
        L{unsignedID} is used to print ID of the object in case of error, not
        standard ID value which can be negative.
        """
        class X(BTBase):
            breakRepr = True

        ids = {X: 100}
        def fakeID(obj):
            try:
                return ids[obj]
            except (TypeError, KeyError):
                return id(obj)
        self.addCleanup(util.setIDFunction, util.setIDFunction(fakeID))

        xRepr = reflect.safe_repr(X)
        self.assertIn("0x64", xRepr)
Exemple #5
0
    def test_str(self):
        """
        The string representation of a L{DelayedCall} instance, as returned by
        C{str}, includes the unsigned id of the instance, as well as its state,
        the function to be called, and the function arguments.
        """
        dc = DelayedCall(12, nothing, (3, ), {"A": 5}, None, None, lambda: 1.5)
        ids = {dc: 200}

        def fakeID(obj):
            try:
                return ids[obj]
            except (TypeError, KeyError):
                return id(obj)

        self.addCleanup(setIDFunction, setIDFunction(fakeID))
        self.assertEqual(
            str(dc),
            "<DelayedCall 0xc8 [10.5s] called=0 cancelled=0 nothing(3, A=5)>")