using System.Collections.Generic;
public static bool MatchingBracketsDetector(string testCase)
public static void Main()
Console.WriteLine(Assert("", true));
Console.WriteLine(Assert("no brackets", true));
Console.WriteLine(Assert("(", false));
Console.WriteLine(Assert(")", false));
Console.WriteLine(Assert("()", true));
Console.WriteLine(Assert(")(", false));
Console.WriteLine(Assert("(]", false));
Console.WriteLine(Assert("(())", true));
Console.WriteLine(Assert("({)}", false));
Console.WriteLine(Assert("in(ter(rup)ted)", true));
Console.WriteLine(Assert("(()", false));
Console.WriteLine(Assert("({[]})", true));
Console.WriteLine(Assert("({[}])", false));
Console.WriteLine(Assert("{(())}", true));
Console.WriteLine(Assert("(([)))", false));
Console.WriteLine(Assert("{}{}", true));
Console.WriteLine(Assert("[[]{}()]", true));
Console.WriteLine(Assert("([{}({}[])])", true));
Console.WriteLine(Assert("(}{)", false));
public static string Assert(string value, bool expectedResult)
var result = MatchingBracketsDetector(value);
return "\"" + value + "\"" +
" - expected: " + expectedResult + " and got result: " + result + " => Test: " +
(result == expectedResult ? "Passed" : "Failed");