404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@18.223.172.243: ~ $
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)

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
test_django Folder 0755
__init__.py File 64 B 0644
configparser-read.txt File 832 B 0644
configparser-write.txt File 775 B 0644
directory-contents.txt File 739 B 0644
sample1.py File 1.11 KB 0644
sample2.py File 412 B 0644
sample3.py File 43 B 0644
test_compare.py File 61.34 KB 0644
test_comparison.py File 22.17 KB 0644
test_components.py File 974 B 0644
test_date.py File 10.41 KB 0644
test_datetime.py File 16.58 KB 0644
test_diff.py File 892 B 0644
test_generator.py File 467 B 0644
test_log_capture.py File 7.21 KB 0644
test_logcapture.py File 19.21 KB 0644
test_mappingcomparison.py File 9.42 KB 0644
test_mock.py File 2.19 KB 0644
test_outputcapture.py File 4.25 KB 0644
test_popen.py File 22.77 KB 0644
test_popen_docs.py File 7.5 KB 0644
test_rangecomparison.py File 5.21 KB 0644
test_replace.py File 29.27 KB 0644
test_replacer.py File 3.81 KB 0644
test_roundcomparison.py File 4.71 KB 0644
test_sequencecomparison.py File 12.08 KB 0644
test_should_raise.py File 9.73 KB 0644
test_shouldwarn.py File 4.51 KB 0644
test_stringcomparison.py File 1.32 KB 0644
test_sybil.py File 4.2 KB 0644
test_tempdir.py File 2.82 KB 0644
test_tempdirectory.py File 10.95 KB 0644
test_time.py File 7.55 KB 0644
test_twisted.py File 5.54 KB 0644
test_wrap.py File 6.42 KB 0644