Проверка отдельных тестов, например InterviewStreet.com

Я построил свой собственный онлайн-судья для размещения Intra-College Programming ContestСудья похож и так же хорош, как SPOJ, Codechef, UVA и т. Д. В настоящее время мой онлайн-судья использует ту же логику, что и вышеупомянутые три веб-сайта, чтобы проверить, является ли ответ Correct(Accepted) or WrongТо есть, он запускает пользовательскую программу против стандарта official test cases и сравнивает выходной файл, сгенерированный пользовательской программой, с standard(expected) output fileКогда выходной файл пользователя соответствует ожидаемому выходному файлу, вердикт correct answer еще Wrong Answer,введите описание изображения здесь

Теперь я хочу добавить функцию Individual test case scoring system как https://www.interviewstreet.com/. Пользователю начисляется балл на основании количества пройденных (принятых) тестовых случаев. [См. рис. выше]. Я не могу придумать эффективный метод / способ его реализации.

Мое начальное вторжение:

Поместите каждый тест (если предположить, что всего T тестовых случаев) Входные данные в T отдельных входных файлах (in1.txt, in2.txt, in3.txt,... inT.txt) и ожидаемые выходные данные в других T отдельных файлах (out1.txt, out2.txt, out3.txt,.... outT.txt) и запустите пользовательскую программу T раз, по одному для каждого входного контрольного примера (входных файлов).

Но это звучит не очень хорошо. Когда количество тест-кейсов T большие, то Compilation Server будет очень медленным, так как пользовательская программа должна запускаться T раз.

Пожалуйста, предложите мне быстрый и эффективный способ внедрения индивидуальной системы подсчета тестов.

1 ответ

Вы можете просто использовать наш инструмент бесплатно:)

Другие вопросы по тегам