def test_from_url(self): self.assertEqual( CodeforcesProblem.from_url( 'http://codeforces.com/problemset/problem/700/B').contest_id, 700) self.assertEqual( CodeforcesProblem.from_url( 'http://codeforces.com/problemset/problem/700/B').index, 'B') self.assertEqual( CodeforcesProblem.from_url( 'http://codeforces.com/contest/538/problem/H').contest_id, 538) self.assertEqual( CodeforcesProblem.from_url( 'http://codeforces.com/contest/538/problem/H').index, 'H') self.assertEqual( CodeforcesProblem.from_url( 'http://codeforces.com/gym/101021/problem/A').contest_id, 101021) self.assertEqual( CodeforcesProblem.from_url( 'http://codeforces.com/gym/101021/problem/A').index, 'A') self.assertEqual( CodeforcesProblem.from_url( 'https://codeforces.com/contest/1080/problem/A').contest_id, 1080) self.assertEqual( CodeforcesProblem.from_url( 'https://codeforces.com/contest/1080/problem/A').index, 'A') self.assertIsNone( CodeforcesProblem.from_url( 'https://atcoder.jp/contests/abc120/tasks/abc120_c'))
def test_download_problem(self): problem = CodeforcesProblem.from_url('http://codeforces.com/contest/1205/problem/D') data = problem.download_data() self.assertEqual(data.name, 'Almost All') self.assertEqual(data.points, 2000) self.assertEqual(data.rating, 2700) self.assertEqual(data.tags, ['constructive algorithms', 'trees']) self.assertEqual(data.type, 'PROGRAMMING')
def test_from_url_corner_cases(self): # 0 self.assertEqual( CodeforcesProblem.from_url( 'https://codeforces.com/contest/1105/problem/0').index, 'A') self.assertEqual( CodeforcesProblem.from_url( 'https://codeforces.com/contest/1105/problem/1'), None) # lower case self.assertEqual( CodeforcesProblem.from_url( 'https://codeforces.com/contest/1110/problem/H').index, 'H') self.assertEqual( CodeforcesProblem.from_url( 'https://codeforces.com/contest/1110/problem/h').index, 'H') # F2 self.assertEqual( CodeforcesProblem.from_url( 'https://codeforces.com/contest/1133/problem/E').index, 'E') self.assertEqual( CodeforcesProblem.from_url( 'https://codeforces.com/contest/1133/problem/F1').index, 'F1') self.assertEqual( CodeforcesProblem.from_url( 'https://codeforces.com/contest/1133/problem/F2').index, 'F2')