blob: 0826dad1a50ca2259fe192ac2ff0f621cb12be65 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
use matching_brackets::brackets_are_balanced;
#[test]
fn paired_square_brackets() {
assert!(brackets_are_balanced("[]"));
}
#[test]
fn empty_string() {
assert!(brackets_are_balanced(""));
}
#[test]
fn unpaired_brackets() {
assert!(!brackets_are_balanced("[["));
}
#[test]
fn wrong_ordered_brackets() {
assert!(!brackets_are_balanced("}{"));
}
#[test]
fn wrong_closing_bracket() {
assert!(!brackets_are_balanced("{]"));
}
#[test]
fn paired_with_whitespace() {
assert!(brackets_are_balanced("{ }"));
}
#[test]
fn partially_paired_brackets() {
assert!(!brackets_are_balanced("{[])"));
}
#[test]
fn simple_nested_brackets() {
assert!(brackets_are_balanced("{[]}"));
}
#[test]
fn several_paired_brackets() {
assert!(brackets_are_balanced("{}[]"));
}
#[test]
fn paired_and_nested_brackets() {
assert!(brackets_are_balanced("([{}({}[])])"));
}
#[test]
fn unopened_closing_brackets() {
assert!(!brackets_are_balanced("{[)][]}"));
}
#[test]
fn unpaired_and_nested_brackets() {
assert!(!brackets_are_balanced("([{])"));
}
#[test]
fn paired_and_wrong_nested_brackets() {
assert!(!brackets_are_balanced("[({]})"));
}
#[test]
fn paired_and_incomplete_brackets() {
assert!(!brackets_are_balanced("{}["));
}
#[test]
fn too_many_closing_brackets() {
assert!(!brackets_are_balanced("[]]"));
}
#[test]
fn early_incomplete_brackets() {
assert!(!brackets_are_balanced(")()"));
}
#[test]
fn early_mismatched_brackets() {
assert!(!brackets_are_balanced("{)()"));
}
#[test]
fn math_expression() {
assert!(brackets_are_balanced("(((185 + 223.85) * 15) - 543)/2"));
}
#[test]
fn complex_latex_expression() {
let input = "\\left(\\begin{array}{cc} \\frac{1}{3} & x\\\\ \\mathrm{e}^{x} &... x^2 \
\\end{array}\\right)";
assert!(brackets_are_balanced(input));
}
|