$78 GRAYBYTE WORDPRESS FILE MANAGER $95

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/cloudlinux/venv/lib/python3.11/site-packages/testfixtures/tests/

HOME
Current File : /opt/cloudlinux/venv/lib/python3.11/site-packages/testfixtures/tests//test_replacer.py
from unittest import TestCase

from testfixtures import Replacer, ShouldRaise


class TestReplacer(TestCase):

    def test_function(self):
        from testfixtures.tests import sample1
        assert sample1.z() == 'original z'

        def test_z():
          return 'replacement z'

        r = Replacer()
        r.replace('testfixtures.tests.sample1.z',test_z)

        assert sample1.z() == 'replacement z'

        r.restore()

        assert sample1.z() == 'original z'

    def test_class(self):
        from testfixtures.tests import sample1
        x = sample1.X()
        assert x.__class__.__name__ == 'X'

        class XReplacement(sample1.X): pass

        r = Replacer()
        r.replace('testfixtures.tests.sample1.X', XReplacement)

        x = sample1.X()
        assert x.__class__.__name__ == 'XReplacement'
        assert sample1.X().y() == 'original y'

        r.restore()

        x = sample1.X()
        assert x.__class__.__name__ == 'X'

    def test_method(self):
        from testfixtures.tests import sample1
        assert sample1.X().y() == 'original y'

        def test_y(self):
          return 'replacement y'

        r = Replacer()
        r.replace('testfixtures.tests.sample1.X.y',test_y)

        assert sample1.X().y()[:38] == 'replacement y'

        r.restore()

        assert sample1.X().y() == 'original y'

    def test_class_method(self):
        from testfixtures.tests import sample1
        c = sample1.X
        assert sample1.X.aMethod() is c

        def rMethod(cls):
          return cls, 1

        r = Replacer()
        r.replace('testfixtures.tests.sample1.X.aMethod',rMethod)

        sample1.X.aMethod()
        assert sample1.X.aMethod() == (c, 1)

        r.restore()

        sample1.X.aMethod()
        assert sample1.X.aMethod() is c

    def test_multiple_replace(self):
        from testfixtures.tests import sample1
        assert sample1.z() == 'original z'
        assert sample1.X().y() == 'original y'

        def test_y(self):
          return self.__class__.__name__
        def test_z():
          return 'replacement z'

        r = Replacer()
        r.replace('testfixtures.tests.sample1.z',test_z)
        r.replace('testfixtures.tests.sample1.X.y',test_y)

        assert sample1.z() == 'replacement z'
        assert sample1.X().y() == 'X'

        r.restore()

        assert sample1.z() == 'original z'
        assert sample1.X().y() == 'original y'

    def test_gotcha(self):
        # Just because you replace an object in one context:

        from testfixtures.tests import sample1
        from testfixtures.tests import sample2
        assert sample1.z() == 'original z'

        def test_z():
          return 'replacement z'

        r = Replacer()
        r.replace('testfixtures.tests.sample1.z',test_z)

        assert sample1.z() == 'replacement z'

        # Doesn't meant that it's replaced in all contexts:

        assert sample2.z() == 'original z'

        r.restore()

    def test_remove_called_twice(self):
        from testfixtures.tests import sample1

        def test_z(): pass

        r = Replacer()
        r.replace('testfixtures.tests.sample1.z',test_z)

        r.restore()
        assert sample1.z() == 'original z'

        r.restore()
        assert sample1.z() == 'original z'

    def test_with_statement(self):
        from testfixtures.tests import sample1
        assert sample1.z() == 'original z'

        def test_z():
          return 'replacement z'

        with Replacer() as r:
            r.replace('testfixtures.tests.sample1.z',test_z)
            assert sample1.z() == 'replacement z'

        assert sample1.z() == 'original z'

    def test_not_there(self):
        def test_bad(): pass

        with Replacer() as r:
            with ShouldRaise(AttributeError("Original 'bad' not found")):
                r.replace('testfixtures.tests.sample1.bad', test_bad)

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
14 Aug 2025 9.24 PM
root / root
0755
__pycache__
--
14 Aug 2025 9.24 PM
root / root
0755
test_django
--
14 Aug 2025 9.24 PM
root / root
0755
__init__.py
0.063 KB
17 Apr 2025 8.10 PM
root / root
0644
configparser-read.txt
0.813 KB
17 Apr 2025 8.10 PM
root / root
0644
configparser-write.txt
0.757 KB
17 Apr 2025 8.10 PM
root / root
0644
directory-contents.txt
0.722 KB
17 Apr 2025 8.10 PM
root / root
0644
sample1.py
1.11 KB
17 Apr 2025 8.10 PM
root / root
0644
sample2.py
0.402 KB
17 Apr 2025 8.10 PM
root / root
0644
sample3.py
0.042 KB
17 Apr 2025 8.10 PM
root / root
0644
test_compare.py
61.341 KB
17 Apr 2025 8.10 PM
root / root
0644
test_comparison.py
22.174 KB
17 Apr 2025 8.10 PM
root / root
0644
test_components.py
0.951 KB
17 Apr 2025 8.10 PM
root / root
0644
test_date.py
10.409 KB
17 Apr 2025 8.10 PM
root / root
0644
test_datetime.py
16.581 KB
17 Apr 2025 8.10 PM
root / root
0644
test_diff.py
0.871 KB
17 Apr 2025 8.10 PM
root / root
0644
test_generator.py
0.456 KB
17 Apr 2025 8.10 PM
root / root
0644
test_log_capture.py
7.206 KB
17 Apr 2025 8.10 PM
root / root
0644
test_logcapture.py
19.206 KB
17 Apr 2025 8.10 PM
root / root
0644
test_mappingcomparison.py
9.425 KB
17 Apr 2025 8.10 PM
root / root
0644
test_mock.py
2.192 KB
17 Apr 2025 8.10 PM
root / root
0644
test_outputcapture.py
4.253 KB
17 Apr 2025 8.10 PM
root / root
0644
test_popen.py
22.768 KB
17 Apr 2025 8.10 PM
root / root
0644
test_popen_docs.py
7.504 KB
17 Apr 2025 8.10 PM
root / root
0644
test_rangecomparison.py
5.205 KB
17 Apr 2025 8.10 PM
root / root
0644
test_replace.py
29.269 KB
17 Apr 2025 8.10 PM
root / root
0644
test_replacer.py
3.814 KB
17 Apr 2025 8.10 PM
root / root
0644
test_roundcomparison.py
4.715 KB
17 Apr 2025 8.10 PM
root / root
0644
test_sequencecomparison.py
12.078 KB
17 Apr 2025 8.10 PM
root / root
0644
test_should_raise.py
9.733 KB
17 Apr 2025 8.10 PM
root / root
0644
test_shouldwarn.py
4.511 KB
17 Apr 2025 8.10 PM
root / root
0644
test_stringcomparison.py
1.322 KB
17 Apr 2025 8.10 PM
root / root
0644
test_sybil.py
4.201 KB
17 Apr 2025 8.10 PM
root / root
0644
test_tempdir.py
2.815 KB
17 Apr 2025 8.10 PM
root / root
0644
test_tempdirectory.py
10.952 KB
17 Apr 2025 8.10 PM
root / root
0644
test_time.py
7.553 KB
17 Apr 2025 8.10 PM
root / root
0644
test_twisted.py
5.539 KB
17 Apr 2025 8.10 PM
root / root
0644
test_wrap.py
6.422 KB
17 Apr 2025 8.10 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF