def test_pypy_implementation_non_final(self, mock_implementation):
        mock_implementation.return_value = 'PyPy'
        sys.pypy_version_info = Object()
        sys.pypy_version_info.major = 2
        sys.pypy_version_info.minor = 0
        sys.pypy_version_info.micro = 1
        sys.pypy_version_info.releaselevel = 'beta2'

        assert 'PyPy/2.0.1beta2' == ua._implementation_string()
    def test_unknown_implementation(self, mock_implementation):
        mock_implementation.return_value = "Lukasa'sSuperPython"

        assert "Lukasa'sSuperPython/Unknown" == ua._implementation_string()
 def test_cpython_implementation(self, mock_version, mock_implementation):
     mock_implementation.return_value = 'CPython'
     mock_version.return_value = '2.7.5'
     assert 'CPython/2.7.5' == ua._implementation_string()