Skip to content

khanhtran0111/GenTest

Repository files navigation

Hướng Dẫn Sử Dụng Script Sinh Test

Authors: Khanh Tran, Ngat Do - Code Dream Programming Learning Center

Bước 1: Tạo Folder Chứa Bài Tập cần được sinh test

Tạo một folder mới bên trong thư mục problems, đặt tên theo mã bài tập. Ví dụ:

problems/
    bai1/
    bai2/
    ...

Bước 2: Thêm File Solution vào Thư mục solutions

Thêm file solution C++ hoặc Python vào folder solutions.

  • Tên file phải trùng với tên folder của bài tập trong thư mục problems.
  • Nếu viết bằng C++, đặt tên file là <problemName>.cpp.
  • Nếu viết bằng Python, đặt tên file là <problemName>.py.

Ví dụ với bài bonghong:

solutions/
    bonghong.cpp  (hoặc bonghong.py)

Bước 3: Cấu Hình File config.py

  • Copy file config_sample.py vào thư mục bài tập.
  • Đổi tên file thành config.py.
  • Chỉnh sửa các tham số bên trong config.py như sau:
# Tên bài toán (trùng với tên folder và file code)
problemName = "bonghong"

# Số lượng test case cần sinh
totalOfTests = 20

# Phân chia điểm theo subtask
subtasks = [50, 50]  # Subtask 1: 50%, Subtask 2: 50%. Thêm và điều chỉnh số lượng subtasks và % tương ứng nếu cần.

# Giới hạn đầu vào của bài toán
minN = 1
maxN = [1000, 1000000]  # Giới hạn đầu vào cho các subtasks tương ứng.
  • Hàm genInputContent(testID, curSubtask) chịu trách nhiệm sinh dữ liệu đầu vào cho từng test case. Chỉnh sửa hàm sao cho phù hợp với dữ liệu từng đề bài. File genUltils.py chứa các hàm hỗ trợ sinh dữ liệu ngẫu nhiên và xử lý định dạng. Hãy tham khảo file này để biết thêm các hàm tiện ích.

Bước 4: Chạy Script Sinh Test

Chạy file genTest.py để tạo bộ test tự động:

python genTest.py

Sau khi chạy xong, test cases sẽ được tạo trong thư mục bài tập. Bạn có thể kiểm tra output trong các file *.out tương ứng.


Nếu muốn đơn giản hoá các bước, ít thao tác, có thể chạy file app.py để có thể một app trực quan nhất về sinh test cũng như thao tác đơn giản hơn. (Vẫn đang trong quá trình hoàn thiện, đây là phiên bản demo nên mong quý bạn đọc có thể sử dụng thử)

Nếu có vấn đề, góp ý, xin hãy gửi qua mail: [email protected]

Releases

No releases published

Packages

No packages published

Languages