diff --git a/src/se/edu/inclass/Main.py b/src/se/edu/inclass/Main.py index 0e6d9f1..0271b3b 100644 --- a/src/se/edu/inclass/Main.py +++ b/src/se/edu/inclass/Main.py @@ -1,6 +1,8 @@ # Main.py is the entry point of the program from data.DataManager import DataManager from task.Deadline import Deadline +from task.Event import Event +from task.Todo import Todo from task.Task import Task from typing import List @@ -18,7 +20,23 @@ def main(): # Count deadlines using streams print("\n") - print("Total number of deadlines counted using streams:", count_deadlines_using_stream(tasks_data)) + print("Total number of deadlines recorded:", count_deadlines_using_stream(tasks_data)) + + print("\n") + print("Events in the task list:") + print_events(tasks_data) + + # Count events using streams + print("\n") + print("Total number of events counted using streams:", count_events_using_stream(tasks_data)) + + print("\n") + print("Todos in the task list:") + print_todos(tasks_data) + + # Count todos using streams + print("\n") + print("Total number of todos counted using streams:", count_todos_using_stream(tasks_data)) # Filter tasks using streams filtered_list = filter_task_list_using_streams(tasks_data, "Meeting") @@ -31,19 +49,43 @@ def count_deadlines_using_stream(tasks: List[Task]) -> int: count = sum(1 for task in tasks if isinstance(task, Deadline)) return count +# Counts total events using streams +def count_events_using_stream(tasks: List[Task]) -> int: + count = sum(1 for task in tasks if isinstance(task, Event)) + return count + +# Counts total todos using streams +def count_todos_using_stream(tasks: List[Task]) -> int: + count = sum(1 for task in tasks if isinstance(task, Todo)) + return count + # Prints data using iteration def print_data(tasks_data: List[Task]): - print(" Printing data using iteration") + print(" Printing data ...") for task in tasks_data: print(task) # Prints deadlines using iteration def print_deadlines(tasks_data: List[Task]): - print(" Printing deadline using iteration") + print(" Printing data ...") for task in tasks_data: if isinstance(task, Deadline): print(task) +# Prints events using iteration +def print_events(tasks_data: List[Task]): + print(" Printing events using iteration") + for task in tasks_data: + if isinstance(task, Event): + print(task) + +# Prints todos using iteration +def print_todos(tasks_data: List[Task]): + print(" Printing todos using iteration") + for task in tasks_data: + if isinstance(task, Todo): + print(task) + # Filters tasks using streams def filter_task_list_using_streams(tasks: List[Task], filter_string: str) -> List[Task]: filtered_list = [task for task in tasks if filter_string in task.get_description()]