diff 2.00/testcases.py @ 16:f2279b7602d3

Initial 2.00 commit
author Oleg Oshmyan <chortos@inbox.lv>
date Mon, 07 Jun 2010 23:36:52 +0000
parents
children ec6f1a132109
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/2.00/testcases.py	Mon Jun 07 23:36:52 2010 +0000
@@ -0,0 +1,35 @@
+#!/usr/bin/python
+# Copyright (c) 2010 Chortos-2 <chortos@inbox.lv>
+
+try:
+	import files as _files, problem as _problem
+except ImportError as e:
+	import __main__
+	__main__.import_error(e)
+
+class TestCase(object):
+	__slots__ = 'problem', 'infile', 'outfile'
+	
+	def __init__(case, prob, infile, outfile):
+		case.problem = prob
+		case.infile = infile
+		case.outfile = outfile
+	
+	def __call__(case):
+		os.copy()
+
+def load_problem(prob):
+	if prob.config.usegroups:
+		pass
+	else:
+		for i in prob.config.tests:
+			s = str(i).zfill(prob.config.padwithzeroestolength)
+			prob.cache.padoutputtolength = max(prob.cache.padoutputtolength, len(s))
+			infile = _files.TestCaseFile(prob, prob.config.testcaseinname.replace('$', s))
+			if infile:
+				if prob.config.kind != _problem.BATCH:
+					yield TestCase(prob, infile, None)
+				else:
+					outfile = _files.TestCaseFile(prob, prob.config.testcaseoutname.replace('$', s))
+					if outfile:
+						yield TestCase(prob, infile, outfile)
\ No newline at end of file