| # Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html |
| # For details: https://github.com/pylint-dev/astroid/blob/main/LICENSE |
| # Copyright (c) https://github.com/pylint-dev/astroid/blob/main/CONTRIBUTORS.txt |
| |
| from __future__ import annotations |
| |
| import unittest |
| import warnings |
| |
| import astroid |
| from astroid import builder |
| |
| try: |
| with warnings.catch_warnings(): |
| warnings.simplefilter("ignore", DeprecationWarning) |
| import nose # pylint: disable=unused-import |
| HAS_NOSE = True |
| except ImportError: |
| HAS_NOSE = False |
| |
| |
| @unittest.skipUnless(HAS_NOSE, "This test requires nose library.") |
| class NoseBrainTest(unittest.TestCase): |
| def test_nose_tools(self): |
| methods = builder.extract_node( |
| """ |
| from nose.tools import assert_equal |
| from nose.tools import assert_equals |
| from nose.tools import assert_true |
| assert_equal = assert_equal #@ |
| assert_true = assert_true #@ |
| assert_equals = assert_equals #@ |
| """ |
| ) |
| assert isinstance(methods, list) |
| assert_equal = next(methods[0].value.infer()) |
| assert_true = next(methods[1].value.infer()) |
| assert_equals = next(methods[2].value.infer()) |
| |
| self.assertIsInstance(assert_equal, astroid.BoundMethod) |
| self.assertIsInstance(assert_true, astroid.BoundMethod) |
| self.assertIsInstance(assert_equals, astroid.BoundMethod) |
| self.assertEqual(assert_equal.qname(), "unittest.case.TestCase.assertEqual") |
| self.assertEqual(assert_true.qname(), "unittest.case.TestCase.assertTrue") |
| self.assertEqual(assert_equals.qname(), "unittest.case.TestCase.assertEqual") |