Create balanced brackets exercise
This commit is contained in:
parent
017ef8bac4
commit
3cadabcf68
54
balanced_brackets.lua
Normal file
54
balanced_brackets.lua
Normal file
@ -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())
|
Loading…
x
Reference in New Issue
Block a user