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
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
// #[test]
// fn when_building_invalid_iid_throw() {
// let iid = "invalid";
// let expected = typeql_match!(var("x").iid(iid));
// assert!(expected.is_err());
// }
// #[test]
// fn test_utf8_variable() {
// let var = "人";
// let expected = typeql_match!(var(var).isa("person"));
// assert!(expected.is_ok());
// }
// #[test]
// fn when_using_invalid_variable_throw() {
// let var = "_人";
// let expected = typeql_match!(var(var).isa("person"));
// assert!(expected.is_err());
// }
// #[test]
// fn test_utf8_label() {
// let label = "人";
// let expected = typeql_match!(var("x").isa(label));
// assert!(expected.is_ok());
// }
// #[test]
// fn test_utf8_value() {
// let value = "人";
// let expected = typeql_match!(var("x").isa("person").has(("name", value)));
// assert!(expected.is_ok());
// }
// #[test]
// fn test_builder_precedence_operators() {
// let query = r#"match
// $a = ($b + $c) * $d;"#;
// let parsed = parse_query(query).unwrap();
// let expected = typeql_match!(var("a").assign(cvar("b").add(cvar("c")).multiply(cvar("d"))));
// assert_valid_eq_repr!(expected, parsed, query);
// }
// #[test]
// fn test_builder_associativity_left() {
// let query = r#"match
// $a = $b - ($c - $d);"#;
// let parsed = parse_query(query).unwrap();
// let expected = typeql_match!(var("a").assign(cvar("b").subtract(cvar("c").subtract(cvar("d")))));
// assert_valid_eq_repr!(expected, parsed, query);
// }
// #[test]
// fn test_builder_associativity_right() {
// let query = r#"match
// $a = ($b ^ $c) ^ $d;"#;
// let parsed = parse_query(query).unwrap();
// let expected = typeql_match!(var("a").assign(cvar("b").power(cvar("c")).power(cvar("d"))));
// assert_valid_eq_repr!(expected, parsed, query);
// }
// #[test]
// fn test_parenthesis_preserving() {
// let query = r#"match
// $a = $b + ($c + $d) + $e * ($f * $g);"#;
// let parsed = parse_query(query).unwrap();
// let expected = typeql_match!(var("a")
// .assign(var("b").add(cvar("c").add(cvar("d"))).add(cvar("e").multiply(cvar("f").multiply(cvar("g"))))))
// ;
// assert_valid_eq_repr!(expected, parsed, query);
// }
// #[test]
// fn test_parenthesis_not_adding_unnecessary() {
// let query = r#"match
// $a = $b + $c + $d + $e * $f * $g;"#;
// let parsed = parse_query(query).unwrap();
// let expected = typeql_match!(var("a")
// .assign(var("b").add(cvar("c")).add(cvar("d")).add(cvar("e").multiply(cvar("f")).multiply(cvar("g")))))
// ;
// assert_valid_eq_repr!(expected, parsed, query);
// }