Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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}
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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