def test_get_problem_output(self): problem = Problem(desc="For test", input_desc="For test", output_desc="Fore test", pid="ITP1_6_B", objective=1) problem.save() problem_input = ProblemInput(problem=problem, content=["1", "2", "3"]) problem_input.save() problem_output = ProblemOutput(problem_input=problem_input, content=["1", "2", "3"]) problem_output.save() problem_input_id = problem.to_dict()['id'] response = self.client.get(f"/api/problem/{problem_input_id}/output/") self.assertEqual(response.status_code, 200) response = self.client.post("/api/problem/1/output/", {}) self.assertEqual(response.status_code, 405)
def test_other_solutions(self): client = Client() user = User.objects.create_user(username="******", password="******", email="*****@*****.**", salt="123", role=1) user_id = User.objects.filter(email="*****@*****.**").first().id client.login(username="******", password="******") problem1 = Problem(desc="For test", input_desc="For test", output_desc="Fore test", pid="ITP1_6_B", objective=1) problem1.save() problem1_id = problem1.to_dict()['id'] problem2 = Problem(desc="For test", input_desc="For test", output_desc="Fore test", pid="ALDS1_4_B", objective=3) problem2.save() problem2_id = problem2.to_dict()['id'] problem3 = Problem(desc="For test", input_desc="For test", output_desc="Fore test", pid="ITP1_7_B", objective=1) problem3.save() problem3_id = problem3.to_dict()['id'] solution1_body = { "erase_cnt": 12, "elapsed_time": 30, "evaluation": 66.0, "code": "n=int(input())\na=[[0 for i in range(13)]for j in range(4)]\nfor k in range(n):\ncard=input().split()\np=5\nif (card[0]=='S'):\np=0\nelif (card[0]=='H':\np=1\nelif (card[0]=='C'):\np=2\nelse:\np=3\nq=int(card[1])-1\na[p][q]=1\nfor i in range(4):\nfor j in range(13):\nif a[i][j]==0:\ntype=''\nif i==0 :\ntype='S'\nelif i==1:\ntype='H'\nelif i==2:\ntype='C'\nelse:\ntype='D'\nprint('{0} {1}'.format(type,j+1))", } response = client.post( f"/api/problem/{problem1_id}/solution/", json.dumps(solution1_body), content_type="application/json", ) self.assertEqual(response.status_code, 201) solution2_body = { "erase_cnt": 12, "elapsed_time": 30, "evaluation": 66.0, "code": "n=int(input())\na=[[0 for i in range(13)]for j in range(4)]\nfor k in range(n):\ncard=input().split()\np=5\nif (card[0]=='S'):\np=0\nelif (card[0]=='H':\np=1\nelif (card[0]=='C'):\np=2\nelse:\np=3\nq=int(card[1])-1\na[p][q]=1\nfor i in range(4):\nfor j in range(13):\nif a[i][j]==0:\ntype=''\nif i==0 :\ntype='S'\nelif i==1:\ntype='H'\nelif i==2:\ntype='C'\nelse:\ntype='D'\nprint('{0} {1}'.format(type,j+1))", } response = client.post( f"/api/problem/{problem2_id}/solution/", json.dumps(solution2_body), content_type="application/json", ) self.assertEqual(response.status_code, 201) solution3_body = { "erase_cnt": 12, "elapsed_time": 30, "evaluation": 66.0, "code": "n=int(input())\na=[[0 for i in range(13)]for j in range(4)]\nfor k in range(n):\ncard=input().split()\np=5\nif (card[0]=='S'):\np=0\nelif (card[0]=='H':\np=1\nelif (card[0]=='C'):\np=2\nelse:\np=3\nq=int(card[1])-1\na[p][q]=1\nfor i in range(4):\nfor j in range(13):\nif a[i][j]==0:\ntype=''\nif i==0 :\ntype='S'\nelif i==1:\ntype='H'\nelif i==2:\ntype='C'\nelse:\ntype='D'\nprint('{0} {1}'.format(type,j+1))", } response = client.post( f"/api/problem/{problem3_id}/solution/", json.dumps(solution3_body), content_type="application/json", ) self.assertEqual(response.status_code, 201) response = client.post("/api/analysis/my/report/") self.assertEqual(response.status_code, 204) User.objects.create_user(username="******", password="******", email="*****@*****.**", salt="123", role=1) client = Client() client.login(username="******", password="******") response = client.get(f"/api/analysis/other/{user_id}/solutions/") self.assertEqual(response.status_code, 200)