def test_get_problems(problem_files, problems_dir): """Check whether problem files are correctly found and returned.""" p = Problems(problem_files) problems = [ p._parse_problem(problems_dir / ('%d_kyu_%d.sgf' % (i, i))) for i in xrange(20) ] problems += [ p._parse_problem( problems_dir / ('[%d]%d_kyu_%d.sgf' % (i - 10, i, i + 20)) ) for i in xrange(20) ] for i in xrange(20): problem = {'rank': None} problem.update(p._parse_problem(problems_dir / ('%d.sgf' % i))) problems.append(problem) assert sorted(p._get_problems(problem_files)) == sorted(problems)
def test_unparsable_parse_problem(filename, problems_dir): """Check whether names that cannot be parsed only return the filename.""" p = Problems(problems_dir) assert p._parse_problem(filename) == {'problem_file': filename}
def test_invalid_parse_problem(filename, problems_dir): """Check whether invalid names return None.""" p = Problems(problems_dir) assert p._parse_problem(filename) is None
def test_parse_problem(filename, result, problems_dir): """Test whether filenames get parsed correctly.""" p = Problems(problems_dir) result['problem_file'] = filename assert p._parse_problem(filename) == result