Sha256: 2542d867c82db3a55864f5bf0b46283961f322a99622c936340860c9d36cf371

Contents?: true

Size: 1.69 KB

Versions: 22

Compression:

Stored size: 1.69 KB

Contents

import unittest

from bracket_push import is_paired


# Tests adapted from `problem-specifications//canonical-data.json` @ v1.2.0

class BracketPushTests(unittest.TestCase):
    def test_paired_square_brackets(self):
        self.assertEqual(is_paired("[]"), True)

    def test_empty_string(self):
        self.assertEqual(is_paired(""), True)

    def test_unpaired_brackets(self):
        self.assertEqual(is_paired("[["), False)

    def test_wrong_ordered_brackets(self):
        self.assertEqual(is_paired("}{"), False)

    def test_wrong_closing_bracket(self):
        self.assertEqual(is_paired("{]"), False)

    def test_paired_with_whitespace(self):
        self.assertEqual(is_paired("{ }"), True)

    def test_simple_nested_brackets(self):
        self.assertEqual(is_paired("{[]}"), True)

    def test_several_paired_brackets(self):
        self.assertEqual(is_paired("{}[]"), True)

    def test_paired_and_nested_brackets(self):
        self.assertEqual(is_paired("([{}({}[])])"), True)

    def test_unopened_closing_brackets(self):
        self.assertEqual(is_paired("{[)][]}"), False)

    def test_unpaired_and_nested_brackets(self):
        self.assertEqual(is_paired("([{])"), False)

    def test_paired_and_wrong_nested_brackets(self):
        self.assertEqual(is_paired("[({]})"), False)

    def test_math_expression(self):
        self.assertEqual(
            is_paired("(((185 + 223.85) * 15) - 543)/2"), True)

    def test_complex_latex_expression(self):
        self.assertEqual(
            is_paired(
                ("\\left(\\begin{array}{cc} \\frac{1}{3} & x\\\\ \\mathrm{e}^{"
                 "x} &... x^2 \\end{array}\\right)")), True)


if __name__ == '__main__':
    unittest.main()

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
trackler-2.2.1.130 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.129 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.128 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.127 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.126 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.125 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.124 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.123 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.122 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.121 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.120 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.119 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.118 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.117 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.116 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.115 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.114 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.113 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.111 tracks/python/exercises/bracket-push/bracket_push_test.py
trackler-2.2.1.110 tracks/python/exercises/bracket-push/bracket_push_test.py