Guest User

stess_test.py

a guest
Feb 4th, 2021
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.19 KB | None | 0 0
  1. from random import randint, seed
  2. from os import system
  3.  
  4. seed(9)
  5.  
  6. CORRECT_FILE = "OK.cpp"
  7. INCORRECT_FILE = "WA.cpp"
  8. TEST_CASE_FILE = "testcase.txt"
  9.  
  10. system(f"g++ {CORRECT_FILE} -o CORRECT")
  11. system(f"g++ {INCORRECT_FILE} -o INCORRECT")
  12.  
  13.  
  14. def write_test(input):
  15.     open(TEST_CASE_FILE, "w").write(input)
  16.  
  17.  
  18. def generate():
  19.     t = randint(*t_range)
  20.     s = f"{t}\n"
  21.     for _ in range(t):
  22.         s += f"{randint(*int_range)} {randint(*int_range)}\n"
  23.     return s
  24.  
  25.  
  26. def get_ans(solution_name):
  27.     system(f"./{solution_name} < {TEST_CASE_FILE} > out.txt")
  28.     return open("out.txt", "r").read()
  29.  
  30.  
  31. int_range = (1, 337)
  32. t_range = (1, 2)
  33. test_cases = 2
  34. for i in range(test_cases):
  35.     testcase = generate()
  36.     write_test(testcase)
  37.  
  38.     CORRECT_ANS = get_ans("./CORRECT")
  39.     INCORRECT_ANS = get_ans("./INCORRECT")
  40.     if CORRECT_ANS != INCORRECT_ANS:
  41.         print("test_case", i + 1, "\033[91mWA\033[0m")
  42.         print("\33[34mInput:\033[0m")
  43.         print(testcase)
  44.         print("\33[34mIncorrect Output:\033[0m")
  45.         print(INCORRECT_ANS)
  46.         print("\33[34mExpected:\033[0m")
  47.         print(CORRECT_ANS)
  48.     else:
  49.         print("test_case", i + 1, "\33[32mOK\033[0m")
  50.  
Advertisement
Add Comment
Please, Sign In to add comment