def test_open_only(): """Test only open parens.""" assert check_parens('(((') == 1
def test_open(): """Test its open.""" assert check_parens('((())') == 1
def test_broken_start_with_close(): """Test equal number but wrong order.""" assert check_parens(')))(((') == -1
def test_check_parens_open2(): assert check_parens(u'((((((text') == 1
def test_broken(): """Test that its broken with one too many closing.""" assert check_parens('(()))') == -1
def test_no_parens_returns_error(): """Test that if string isnt just parens error.""" with pytest.raises(ValueError): check_parens('hello')
def test_check_parens_balanced1(): assert check_parens(u'') == 0
def test_check_parens_broken2(): assert check_parens(u'(text))') == -1
def test_check_parens_broken3(): assert check_parens(u'(text(text(text(text)text)text)text)text)') == -1
def test_check_parens_open1(): assert check_parens(u'(((text))') == 1
def test_check_parens_broken1(): assert check_parens(u')') == -1
def test_check_parens_balanced4(): assert check_parens(u'()') == 0
def test_check_parens_balanced3(): assert check_parens(u'(text(text(text())))') == 0
def test_check_parens_balanced2(): assert check_parens(u'(text)') == 0
def test_closed_only(): """Test only closed parens.""" assert check_parens(')))') == -1
def test_check_parens_invalid1(): assert check_parens(u')(') == -1
def test_balance_large(): """Test large balanced.""" assert check_parens('(())()(()())') == 0
def test_check_parens_invalid2(): assert check_parens(u'(dog(cat)),(foo(bar(baz)bar)foo))') == -1
def test_balanced(): """Test for a simple balanced case.""" assert check_parens('()') == 0
def test_check_parens_open3(): assert check_parens(u'(') == 1