27
loading...
This website collects cookies to deliver better user experience
class ABC:
def call(self):
self.static_method()
ABC.class_method()
self.instance_method()
self._ABC__private_instance_method()
ABC._ABC__private_class_method()
ABC._ABC__private_static_method()
@staticmethod
def static_method():
print("static_method")
@classmethod
def class_method(cls):
print("class_method")
def instance_method(self):
print("instance method")
def __private_instance_method(self):
print("private instance method")
@classmethod
def __private_class_method(cls):
print("private class method")
@staticmethod
def __private_static_method():
print("private static method")
from unittest.mock import Mock
from python_class import ABC
class TestPythonClass():
def test_all_methods(self, mocker):
directory = "python_class.ABC"
instance_mock = mocker.patch(f"{directory}.instance_method", return_value=Mock())
static_mock = mocker.patch(f"{directory}.static_method", return_value=Mock())
class_method_mock = mocker.patch(f"{directory}.class_method", return_value=Mock())
pvt_instance_mock = mocker.patch(f"{directory}._ABC__private_instance_method", return_value=Mock())
pvt_class_mock = mocker.patch(f"{directory}._ABC__private_class_method", return_value=Mock())
pvt_static_mock = mocker.patch(f"{directory}._ABC__private_static_method", return_value=Mock())
ABC().call()
assert instance_mock.call_count == 1
assert static_mock.call_count == 1
assert class_method_mock.call_count == 1
assert pvt_instance_mock.call_count == 1
assert pvt_class_mock.call_count == 1