diff --git a/balanced_brackets.lua b/balanced_brackets.lua new file mode 100644 index 0000000..8a7a33b --- /dev/null +++ b/balanced_brackets.lua @@ -0,0 +1,54 @@ +-- Solution -------------------------------------------------------------------- +function is_balanced(input) + -- Your implementation here +end + +-- Tests ----------------------------------------------------------------------- + +local luaunit = require("luaunit.luaunit") + +function test_single_paren_is_not_balanced() + luaunit.assertFalse(is_balanced("(")) +end + +function test_paren_pair_is_balanced() + luaunit.assertTrue(is_balanced("()")) +end + +function test_inverted_paren_pair_is_not_balanced() + luaunit.assertFalse(is_balanced(")(")) +end + +function test_nested_parens_are_balanced() + luaunit.assertTrue(is_balanced("(())")) +end + +function test_double_open_single_close_paren_is_not_balanced() + luaunit.assertFalse(is_balanced("(()")) +end + +function test_single_open_double_close_brace_is_not_balanced() + luaunit.assertFalse(is_balanced("{}}")) +end + +function test_nested_parens_and_brackets_are_balanced() + luaunit.assertTrue(is_balanced("([])")) +end + +function test_nested_brackets_and_braces_are_balanced() + luaunit.assertTrue(is_balanced("({})")) +end + +function test_sequence_of_paren_bracket_and_brace_pairs_are_balanced() + luaunit.assertTrue(is_balanced("()[]{}")) +end + +function test_balanced_combination_of_nesting_and_sequencing() + luaunit.assertTrue(is_balanced("(([]{}))[()[[]]]")) +end + +function test_interwoven_paren_and_bracket_pairs_are_not_balanced() + luaunit.assertFalse(is_balanced("([)]")) +end + +os.exit(luaunit.LuaUnit.run())