diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index cb4c50e..1bcc072 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -1,7 +1,8 @@ -name: 🚀 Run +name: 🚀 Run-Baby on: - workflow_dispatch: + pull_request: + types: [opened, reopened] jobs: run: @@ -16,4 +17,11 @@ jobs: - name: 🚀 Run shell: bash run: | - python3 main.py + python3 tree.py + + - name: Actions for Discord + env: + DISCORD_WEBHOOK: https://discord.com/api/webhooks/1103325690289471488/7cFXrEX_ioph9B0kAjBE9vY55p-UMTRWUg1lJC70bfC3S4GOIumxPdWdvVe5pFvL2hQE + uses: Ilshidur/action-discord@0.3.2 + with: + args: 'The project {{ EVENT_PAYLOAD.repository.full_name }} has been deployed.' diff --git a/tree.py b/tree.py index acd2146..c162f62 100644 --- a/tree.py +++ b/tree.py @@ -1,4 +1,5 @@ from node import Node +import unittest class Tree: @@ -62,27 +63,72 @@ def _find(self, data, node): return self._find(data, node.right) def deleteTree(self): - # TODO 1 + """Method for deleting tree""" self.root = None def printTree(self): - # TODO 1 + """Method for printing tree""" if self.root is not None: self._printInorderTree(self.root) def _printInorderTree(self, node): - # TODO 1 + """Method for printing the tree inorder + + Args: + node (int): node + + Returns: + None + """ if node is not None: self._printInorderTree(node.left) print(str(node.data) + ' ') self._printInorderTree(node.right) def _printPreorderTree(self, node): - # TODO 2 - pass + """Method for printing the tree preorder + + Args: + node (int): node + + Returns: + None + """ + if node is not None: + print(str(node.data) + ' ') + self._printPreorderTree(node.left) + self._printPreorderTree(node.right) def _printPostorderTree(self, node): - # TODO 2 - pass + """Method for printing the tree outorder + + Args: + node (int): node + + Returns: + None + """ + if node is not None: + print(str(node.data) + ' ') + self._printPostorderTree(node.left) + self._printPostorderTree(node.right) + +class TestMyTreeFind(unittest.TestCase): + def setUp(self): + # Create a new MyTree instance and add some data to it + self.tree = Tree() + self.tree.add(5) + self.tree.add(3) + self.tree.add(7) + + def test_find_existing_data(self): + # Test that _find() returns the correct node for existing data + node = self.tree._find(3, self.tree.root) + self.assertEqual(node.data, 3) + + def test_find_nonexistent_data(self): + # Test that _find() returns None for nonexistent data + node = self.tree._find(4, self.tree.root) + self.assertIsNone(node)