aboutsummaryrefslogtreecommitdiff
path: root/rust/matching-brackets/tests
diff options
context:
space:
mode:
Diffstat (limited to 'rust/matching-brackets/tests')
-rw-r--r--rust/matching-brackets/tests/matching-brackets.rs98
1 files changed, 98 insertions, 0 deletions
diff --git a/rust/matching-brackets/tests/matching-brackets.rs b/rust/matching-brackets/tests/matching-brackets.rs
new file mode 100644
index 0000000..0826dad
--- /dev/null
+++ b/rust/matching-brackets/tests/matching-brackets.rs
@@ -0,0 +1,98 @@
1use matching_brackets::brackets_are_balanced;
2
3#[test]
4fn paired_square_brackets() {
5 assert!(brackets_are_balanced("[]"));
6}
7
8#[test]
9fn empty_string() {
10 assert!(brackets_are_balanced(""));
11}
12
13#[test]
14fn unpaired_brackets() {
15 assert!(!brackets_are_balanced("[["));
16}
17
18#[test]
19fn wrong_ordered_brackets() {
20 assert!(!brackets_are_balanced("}{"));
21}
22
23#[test]
24fn wrong_closing_bracket() {
25 assert!(!brackets_are_balanced("{]"));
26}
27
28#[test]
29fn paired_with_whitespace() {
30 assert!(brackets_are_balanced("{ }"));
31}
32
33#[test]
34fn partially_paired_brackets() {
35 assert!(!brackets_are_balanced("{[])"));
36}
37
38#[test]
39fn simple_nested_brackets() {
40 assert!(brackets_are_balanced("{[]}"));
41}
42
43#[test]
44fn several_paired_brackets() {
45 assert!(brackets_are_balanced("{}[]"));
46}
47
48#[test]
49fn paired_and_nested_brackets() {
50 assert!(brackets_are_balanced("([{}({}[])])"));
51}
52
53#[test]
54fn unopened_closing_brackets() {
55 assert!(!brackets_are_balanced("{[)][]}"));
56}
57
58#[test]
59fn unpaired_and_nested_brackets() {
60 assert!(!brackets_are_balanced("([{])"));
61}
62
63#[test]
64fn paired_and_wrong_nested_brackets() {
65 assert!(!brackets_are_balanced("[({]})"));
66}
67
68#[test]
69fn paired_and_incomplete_brackets() {
70 assert!(!brackets_are_balanced("{}["));
71}
72
73#[test]
74fn too_many_closing_brackets() {
75 assert!(!brackets_are_balanced("[]]"));
76}
77
78#[test]
79fn early_incomplete_brackets() {
80 assert!(!brackets_are_balanced(")()"));
81}
82
83#[test]
84fn early_mismatched_brackets() {
85 assert!(!brackets_are_balanced("{)()"));
86}
87
88#[test]
89fn math_expression() {
90 assert!(brackets_are_balanced("(((185 + 223.85) * 15) - 543)/2"));
91}
92
93#[test]
94fn complex_latex_expression() {
95 let input = "\\left(\\begin{array}{cc} \\frac{1}{3} & x\\\\ \\mathrm{e}^{x} &... x^2 \
96 \\end{array}\\right)";
97 assert!(brackets_are_balanced(input));
98}