Kata #4: Tổ chức kế hoạch TDD

Mục tiêu: Sau quy trình TDD tổng quát, các kĩ năng viết test, dùng mock, test trong môi trường thực, kata này là để các bạn luyện cách tự tổ chức và lập kế hoạch TDD cho một bài toán cụ thể. Khác với Kata #3, tại kata này, thứ tự của các test có ảnh hưởng lớn đến năng suất lập trình và mức độ dễ khó. Qua vài vòng, các bạn sẽ rút được kinh nghiệm về cách xác định thứ tự tốt.

Lưu ý: Do mục tiêu luyện kĩ năng lập kế hoạch, nên mỗi ngày cần làm lại từ đầu với một project mới, mỗi ngày lặp lại cho đến khi nào tìm được kế hoạch tốt.

Đề bài:Dùng TDD để viết class SingleLinkedList - cấu trúc dữ liệu danh sách liên kết đơn dùng để lưu các đối tượng kiểu Object. SingleLinkedList cần cho phép thực hiện các thao tác sau:

Chú ý để bộ test phủ hết các method và trường hợp có thể xảy ra. Nhưng có thể bỏ qua các trường hợp tham số Object là null.