删除无用代码并且新增流程图相关内容
This commit is contained in:
@@ -20,8 +20,7 @@ from .utils import parse_problem_template
|
||||
DEFAULT_PROBLEM_DATA = {"_id": "A-110", "title": "test", "description": "<p>test</p>", "input_description": "test",
|
||||
"output_description": "test", "time_limit": 1000, "memory_limit": 256, "difficulty": "Low",
|
||||
"visible": True, "tags": ["test"], "languages": ["C", "C++", "Java", "Python2"], "template": {},
|
||||
"samples": [{"input": "test", "output": "test"}], "spj": False, "spj_language": "C",
|
||||
"spj_code": "", "spj_compile_ok": True, "test_case_id": "499b26290cc7994e0b497212e842ea85",
|
||||
"samples": [{"input": "test", "output": "test"}], "test_case_id": "499b26290cc7994e0b497212e842ea85",
|
||||
"test_case_score": [{"output_name": "1.out", "input_name": "1.in", "output_size": 0,
|
||||
"stripped_output_md5": "d41d8cd98f00b204e9800998ecf8427e",
|
||||
"input_size": 0, "score": 0}],
|
||||
@@ -34,14 +33,6 @@ class ProblemCreateTestBase(APITestCase):
|
||||
@staticmethod
|
||||
def add_problem(problem_data, created_by):
|
||||
data = copy.deepcopy(problem_data)
|
||||
if data["spj"]:
|
||||
if not data["spj_language"] or not data["spj_code"]:
|
||||
raise ValueError("Invalid spj")
|
||||
data["spj_version"] = hashlib.md5(
|
||||
(data["spj_language"] + ":" + data["spj_code"]).encode("utf-8")).hexdigest()
|
||||
else:
|
||||
data["spj_language"] = None
|
||||
data["spj_code"] = None
|
||||
if data["rule_type"] == ProblemRuleType.OI:
|
||||
total_score = 0
|
||||
for item in data["test_case_score"]:
|
||||
@@ -81,12 +72,9 @@ class TestCaseUploadAPITest(APITestCase):
|
||||
self.create_super_admin()
|
||||
|
||||
def test_filter_file_name(self):
|
||||
self.assertEqual(self.api.filter_name_list(["1.in", "1.out", "2.in", ".DS_Store"], spj=False),
|
||||
self.assertEqual(self.api.filter_name_list(["1.in", "1.out", "2.in", ".DS_Store"]),
|
||||
["1.in", "1.out"])
|
||||
self.assertEqual(self.api.filter_name_list(["2.in", "2.out"], spj=False), [])
|
||||
|
||||
self.assertEqual(self.api.filter_name_list(["1.in", "1.out", "2.in"], spj=True), ["1.in", "2.in"])
|
||||
self.assertEqual(self.api.filter_name_list(["2.in", "3.in"], spj=True), [])
|
||||
self.assertEqual(self.api.filter_name_list(["2.in", "2.out"]), [])
|
||||
|
||||
def make_test_case_zip(self):
|
||||
base_dir = os.path.join("/tmp", "test_case")
|
||||
@@ -102,27 +90,13 @@ class TestCaseUploadAPITest(APITestCase):
|
||||
f.write(os.path.join(base_dir, item), item)
|
||||
return zip_file
|
||||
|
||||
def test_upload_spj_test_case_zip(self):
|
||||
with open(self.make_test_case_zip(), "rb") as f:
|
||||
resp = self.client.post(self.url,
|
||||
data={"spj": "true", "file": f}, format="multipart")
|
||||
self.assertSuccess(resp)
|
||||
data = resp.data["data"]
|
||||
self.assertEqual(data["spj"], True)
|
||||
test_case_dir = os.path.join(settings.TEST_CASE_DIR, data["id"])
|
||||
self.assertTrue(os.path.exists(test_case_dir))
|
||||
for item in data["info"]:
|
||||
name = item["input_name"]
|
||||
with open(os.path.join(test_case_dir, name), "r", encoding="utf-8") as f:
|
||||
self.assertEqual(f.read(), name + "\n" + name + "\n" + "end")
|
||||
|
||||
def test_upload_test_case_zip(self):
|
||||
with open(self.make_test_case_zip(), "rb") as f:
|
||||
resp = self.client.post(self.url,
|
||||
data={"spj": "false", "file": f}, format="multipart")
|
||||
data={"file": f}, format="multipart")
|
||||
self.assertSuccess(resp)
|
||||
data = resp.data["data"]
|
||||
self.assertEqual(data["spj"], False)
|
||||
test_case_dir = os.path.join(settings.TEST_CASE_DIR, data["id"])
|
||||
self.assertTrue(os.path.exists(test_case_dir))
|
||||
for item in data["info"]:
|
||||
@@ -148,16 +122,6 @@ class ProblemAdminAPITest(APITestCase):
|
||||
resp = self.client.post(self.url, data=self.data)
|
||||
self.assertFailed(resp, "Display ID already exists")
|
||||
|
||||
def test_spj(self):
|
||||
data = copy.deepcopy(self.data)
|
||||
data["spj"] = True
|
||||
|
||||
resp = self.client.post(self.url, data)
|
||||
self.assertFailed(resp, "Invalid spj")
|
||||
|
||||
data["spj_code"] = "test"
|
||||
resp = self.client.post(self.url, data=data)
|
||||
self.assertSuccess(resp)
|
||||
|
||||
def test_get_problem(self):
|
||||
self.test_create_problem()
|
||||
|
||||
Reference in New Issue
Block a user