Question: class WorkshopApp: def _ _ init _ _ ( self , root ) : self.root = root self.root.title ( Craft Workshop Management System )

class WorkshopApp:
def __init__(self, root):
self.root = root
self.root.title("Craft Workshop Management System")
self.teachers =[]
self.students =[]
self.courses =[]
self.init_data()
self.setup_ui()
def init_data(self):
self.teachers.append(Teacher("Kemal","123-456-7890","987-654-3210", "Elmal sk..", "kemal@example.com", 50,100,"9:00AM-5:00PM", "Woodworking, Pottery"))
self.teachers.append(Teacher("Aye","321-654-9870","654-321-9870", "ordu sk.","aye@example.com", 60,120,"10:00AM-6:00PM", "Painting, Sculpting"))
self.students.append(Student("Fatma","222-333-4444","333-444-5555","nar sk.", "fatma@example.com"))
self.students.append(Student("Mustafa","444-555-6666","555-666-7777","ar sk.", "mustafa@example.com"))
self.courses.append(Course("001", "Woodworking Basics", "Weekdays", "1:00PM-3:00PM",150, self.teachers[0],1))
self.courses.append(Course("002", "Pottery Intermediate", "Weekends", "10:00AM-12:00PM",180, self.teachers[0],10))
self.courses.append(Course("003", "Painting Techniques", "Weekdays", "2:00PM-4:00PM",160, self.teachers[1],10))
self.courses.append(Course("004", "Sculpting Advanced", "Weekends", "3:00PM-5:00PM",200, self.teachers[1],10))
def setup_ui(self):
ttk.Button(self.root, text="Course Enroll", command=self.course_enroll).grid(row=0, column=0, padx=10, pady=10)
ttk.Button(self.root, text="Add New Course", command=self.add_new_course).grid(row=0, column=1, padx=10, pady=10)
ttk.Button(self.root, text="View/Edit Courses", command=self.view_courses).grid(row=0, column=2, padx=10, pady=10)
ttk.Button(self.root, text="View Teachers", command=self.view_teachers).grid(row=0, column=3, padx=10, pady=10)
ttk.Button(self.root, text="View Students", command=self.view_students).grid(row=0, column=4, padx=10, pady=10)
ttk.Button(self.root, text="Add New Teacher", command=self.add_new_teacher).grid(row=0, column=5, padx=10, pady=10)
def add_new_teacher(self):
teacher_window = tk.Toplevel(self.root)
teacher_window.title("Add New Teacher")
labels =["Name", "Home Phone", "Mobile Phone", "Address", "Email", "Weekday Fee", "Weekend Fee", "Working Hours", "Skills"]
entries ={}
for i, label in enumerate(labels):
ttk.Label(teacher_window, text=label +":").grid(row=i, column=0, padx=10, pady=5)
entry = ttk.Entry(teacher_window)
entry.grid(row=i, column=1, padx=10, pady=5)
entries[label]= entry
ttk.Button(teacher_window, text="Save Teacher", command=lambda: self.save_teacher(entries)).grid(row=len(labels), column=1, padx=10, pady=10)
def save_teacher(self, entries):
try:
new_teacher = Teacher(
name=entries["Name"].get(),
home_phone=entries["Home Phone"].get(),
mobile_phone=entries["Mobile Phone"].get(),
address=entries["Address"].get(),
email=entries["Email"].get(),
weekday_fee=float(entries["Weekday Fee"].get()),
weekend_fee=float(entries["Weekend Fee"].get()),
working_hours=entries["Working Hours"].get(),
skills=entries["Skills"].get()
)
self.teachers.append(new_teacher)
messagebox.showinfo("Success", "New teacher added successfully.")
except ValueError as e:
messagebox.showerror("Error", "Failed to add teacher. Please check your inputs.")
def view_students(self):
student_window = tk.Toplevel(self.root)
student_window.title("List of Students")
for index, student in enumerate(self.students):
row = index
ttk.Label(student_window, text=student.name).grid(row=row, column=0, padx=5, pady=2)
details_btn = ttk.Button(student_window, text="Details", command=lambda s=student: self.show_student_details(s))
details_btn.grid(row=row, column=1, padx=5, pady=2)
How can I write a unit test of this code?

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!