def test_validate_parentheses(self):
        # true cases
        with self.subTest():
            self.assertTrue(EP.validate_parentheses(
                ('(', 'p', ')'))[0])
        with self.subTest():
            self.assertTrue(EP.validate_parentheses(
                ('(', '(', 'p', ')', ')'))[0])
        with self.subTest():
            self.assertTrue(EP.validate_parentheses(
                ('(', 'p', ')', '+', '(', 'q', ')'))[0])
        with self.subTest():
            self.assertTrue(EP.validate_parentheses(
                ('(', '(', 'p', ')', '+', '(', 'q', ')', ')'))[0])
        with self.subTest():
            self.assertTrue(EP.validate_parentheses(
                ('p', '+', 'q'))[0])

        # false cases
        with self.subTest():
            self.assertFalse(EP.validate_parentheses(
                ('(', 'p'))[0])
        with self.subTest():
            self.assertFalse(EP.validate_parentheses(
                ('p', ')'))[0])
        with self.subTest():
            self.assertFalse(EP.validate_parentheses(
                ('(', '(', 'p', ')'))[0])
        with self.subTest():
            self.assertFalse(EP.validate_parentheses(
                ('(', 'p', ')', '+', 'q', ')'))[0])