У меня есть три модуля:
tree.py
Код: Выделить всё
from branch import Branch
class Tree:
type_of_tree = None
branches = None
def __init__(self, type_of_tree, branches = 0, default_leaves = 0):
self.type_of_tree = type_of_tree
self.branches = []
for branch in range(branches):
self.create_branch(default_leaves)
def create_branch(self, leaves):
self.branches.append(Branch(leaves))
def get_leaves(self):
return_value = []
for branch in self.branches:
return_value.extend(branch.get_leaves())
return return_value
Код: Выделить всё
import uuid
from leave import Leave
class Branch:
leaves = None
identifier = None
def __init__(self, leaves=0):
self.identifier = str(uuid.uuid4())
self.leaves = []
for leave in range(leaves):
self.create_leave()
def create_leave(self):
self.leaves.append(Leave())
def get_leaves(self):
return_value = []
for leave in self.leaves:
return_value.append(leave.get_identifier())
return return_value
Код: Выделить всё
import uuid
class Leave:
identifier = None
def __init__(self):
self.identifier = str(uuid.uuid4())
def get_identifier(self):
return self.identifier
Код: Выделить всё
from unittest.mock import patch, MagicMock
from uuid import uuid4
from tree import Tree
FAKE_UUID = str(uuid4())
class TestLeave:
def test_leave(self):
with patch('leave.Leave') as mock_leave:
mock_leave.return_value = MagicMock()
mock_leave.get_identifier.return_value = FAKE_UUID
tree = Tree("Pine", 1, 1)
leaves = tree.get_leaves()
assert leaves == [FAKE_UUID]
Подробнее здесь: https://stackoverflow.com/questions/792 ... a-subclass
Мобильная версия