Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions .github/workflows/run.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
name: 🚀 Run
name: 🚀 Run-Baby

on:
workflow_dispatch:
pull_request:
types: [opened, reopened]

jobs:
run:
Expand All @@ -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/[email protected]
with:
args: 'The project {{ EVENT_PAYLOAD.repository.full_name }} has been deployed.'
60 changes: 53 additions & 7 deletions tree.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from node import Node
import unittest


class Tree:
Expand Down Expand Up @@ -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)