def collect(*froms)
add_load_path(@base) do
froms = ["."] if froms.empty?
test_suites = []
already_gathered = find_test_cases
froms.each do |from|
from = resolve_path(from)
if from.directory?
test_suite = collect_recursive(from, already_gathered)
test_suites << test_suite unless test_suite.tests.empty?
else
collect_file(from, test_suites, already_gathered)
end
end
add_require_failed_test_suite(test_suites)
if test_suites.size > 1
test_suite = TestSuite.new("[#{froms.join(', ')}]")
sort(test_suites).each do |sub_test_suite|
test_suite << sub_test_suite
end
else
test_suite = test_suites.first
end
test_suite
end
end