5
5
6
6
import static org .hamcrest .MatcherAssert .assertThat ;
7
7
import static org .hamcrest .Matchers .equalTo ;
8
+ import static software .amazon .smithy .typescript .codegen .TypeScriptWriter .CODEGEN_INDICATOR ;
8
9
9
10
public class TypeScriptJmesPathVisitorTest {
10
11
@@ -23,140 +24,140 @@ private String generateTypescriptInterpretation(String path) {
23
24
public void createsSimpleOneLevelIndex () {
24
25
String result = generateTypescriptInterpretation ("foo" );
25
26
assertThat (result ,
26
- equalTo ("let returnComparator = () => {\n return result.foo;\n }\n " ));
27
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n return result.foo;\n }\n " ));
27
28
}
28
29
29
30
@ Test
30
31
public void createsSimpleTwoLevelIndex () {
31
32
String result = generateTypescriptInterpretation ("foo.bar" );
32
33
assertThat (result ,
33
- equalTo ("let returnComparator = () => {\n return result.foo.bar;\n }\n " ));
34
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n return result.foo.bar;\n }\n " ));
34
35
}
35
36
36
37
@ Test
37
38
public void createsDeepIndex () {
38
39
String result = generateTypescriptInterpretation ("foo.bar.car.gar.foo.bar.car" );
39
40
assertThat (result ,
40
- equalTo ("let returnComparator = () => {\n return result.foo.bar.car.gar.foo.bar.car;\n }\n " ));
41
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n return result.foo.bar.car.gar.foo.bar.car;\n }\n " ));
41
42
}
42
43
43
44
@ Test
44
45
public void createsListProfile () {
45
46
String result = generateTypescriptInterpretation ("foo.bar[].car" );
46
47
assertThat (result ,
47
- equalTo ("let returnComparator = () => {\n let flat_1: any[] = [].concat(...result.foo.bar);\n let projection_3 = flat_1.map((element_2: any) => {\n return element_2.car;\n });\n return projection_3;\n }\n " ));
48
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n let flat_1: any[] = [].concat(...result.foo.bar);\n let projection_3 = flat_1.map((element_2: any) => {\n return element_2.car;\n });\n return projection_3;\n }\n " ));
48
49
}
49
50
50
51
@ Test
51
52
public void createsLengthEqualityCheckProfile () {
52
53
String result = generateTypescriptInterpretation ("length(items) == `0`" );
53
54
assertThat (result ,
54
- equalTo ("let returnComparator = () => {\n return (result.items.length == 0.0);\n }\n " ));
55
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n return (result.items.length == 0.0);\n }\n " ));
55
56
}
56
57
57
58
@ Test
58
59
public void createsLengthLessCheckProfile () {
59
60
String result = generateTypescriptInterpretation ("length(items) < `0`" );
60
61
assertThat (result ,
61
- equalTo ("let returnComparator = () => {\n return (result.items.length < 0.0);\n }\n " ));
62
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n return (result.items.length < 0.0);\n }\n " ));
62
63
}
63
64
64
65
@ Test
65
66
public void createsLengthGreaterCheckProfile () {
66
67
String result = generateTypescriptInterpretation ("length(items) > `0`" );
67
68
assertThat (result ,
68
- equalTo ("let returnComparator = () => {\n return (result.items.length > 0.0);\n }\n " ));
69
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n return (result.items.length > 0.0);\n }\n " ));
69
70
}
70
71
71
72
@ Test
72
73
public void createsDeepLengthCheckProfile () {
73
74
74
75
String result = generateTypescriptInterpretation ("length(items.foo.deep[]) == `0`" );
75
76
assertThat (result ,
76
- equalTo ("let returnComparator = () => {\n let flat_1: any[] = [].concat(...result.items.foo.deep);\n return (flat_1.length == 0.0);\n }\n " ));
77
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n let flat_1: any[] = [].concat(...result.items.foo.deep);\n return (flat_1.length == 0.0);\n }\n " ));
77
78
}
78
79
79
80
@ Test
80
81
public void createsDoubleLengthChecksProfile () {
81
82
String result = generateTypescriptInterpretation ("length(set.items[].bar[].gar.foo.items[].item) == length(bar.foos[].foo)" );
82
83
assertThat (result ,
83
- equalTo ("let returnComparator = () => {\n let flat_1: any[] = [].concat(...result.set.items);\n let projection_3 = flat_1.map((element_2: any) => {\n return element_2.bar;\n });\n let flat_4: any[] = [].concat(...projection_3);\n let projection_6 = flat_4.map((element_5: any) => {\n return element_5.gar.foo.items;\n });\n let flat_7: any[] = [].concat(...projection_6);\n let projection_9 = flat_7.map((element_8: any) => {\n return element_8.item;\n });\n let flat_10: any[] = [].concat(...result.bar.foos);\n let projection_12 = flat_10.map((element_11: any) => {\n return element_11.foo;\n });\n return (projection_9.length == projection_12.length);\n }\n " ));
84
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n let flat_1: any[] = [].concat(...result.set.items);\n let projection_3 = flat_1.map((element_2: any) => {\n return element_2.bar;\n });\n let flat_4: any[] = [].concat(...projection_3);\n let projection_6 = flat_4.map((element_5: any) => {\n return element_5.gar.foo.items;\n });\n let flat_7: any[] = [].concat(...projection_6);\n let projection_9 = flat_7.map((element_8: any) => {\n return element_8.item;\n });\n let flat_10: any[] = [].concat(...result.bar.foos);\n let projection_12 = flat_10.map((element_11: any) => {\n return element_11.foo;\n });\n return (projection_9.length == projection_12.length);\n }\n " ));
84
85
}
85
86
86
87
@ Test
87
88
public void createWrapAroundProfile () {
88
89
String result = generateTypescriptInterpretation ("length(items[-1]) == `0`" );
89
90
assertThat (result ,
90
- equalTo ("let returnComparator = () => {\n return (result.items[result.items.length - 1].length == 0.0);\n }\n " ));
91
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n return (result.items[result.items.length - 1].length == 0.0);\n }\n " ));
91
92
}
92
93
93
94
@ Test
94
95
public void createContainsProfile () {
95
96
String result = generateTypescriptInterpretation ("contains(items[].State, `false`)" );
96
97
assertThat (result ,
97
- equalTo ("let returnComparator = () => {\n let flat_1: any[] = [].concat(...result.items);\n let projection_3 = flat_1.map((element_2: any) => {\n return element_2.State;\n });\n return projection_3.includes(false);\n }\n " ));
98
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n let flat_1: any[] = [].concat(...result.items);\n let projection_3 = flat_1.map((element_2: any) => {\n return element_2.State;\n });\n return projection_3.includes(false);\n }\n " ));
98
99
}
99
100
100
101
@ Test
101
102
public void createWildcardIndex () {
102
103
String result = generateTypescriptInterpretation ("foo.*.bar" );
103
104
assertThat (result ,
104
- equalTo ("let returnComparator = () => {\n let objectProjection_2 = Object.values(result.foo).map((element_1: any) => {\n return element_1.bar;\n });\n return objectProjection_2;\n }\n " ));
105
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n let objectProjection_2 = Object.values(result.foo).map((element_1: any) => {\n return element_1.bar;\n });\n return objectProjection_2;\n }\n " ));
105
106
}
106
107
107
108
@ Test
108
109
public void createFilterIndex () {
109
110
String result = generateTypescriptInterpretation ("items[?foo=='awesome'][]" );
110
111
assertThat (result ,
111
- equalTo ("let returnComparator = () => {\n let filterRes_2 = result.items.filter((element_1: any) => {\n return (element_1.foo == \" awesome\" );\n });\n let flat_3: any[] = [].concat(...filterRes_2);\n return flat_3;\n }\n " ));
112
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n let filterRes_2 = result.items.filter((element_1: any) => {\n return (element_1.foo == \" awesome\" );\n });\n let flat_3: any[] = [].concat(...filterRes_2);\n return flat_3;\n }\n " ));
112
113
}
113
114
114
115
@ Test
115
116
public void createMultiIndex () {
116
117
String result = generateTypescriptInterpretation ("items[].[`4` > `0`, `1` == `0`][]" );
117
118
assertThat (result ,
118
- equalTo ("let returnComparator = () => {\n let flat_1: any[] = [].concat(...result.items);\n let projection_3 = flat_1.map((element_2: any) => {\n let result_4 = [];\n result_4.push((4.0 > 0.0));\n result_4.push((1.0 == 0.0));\n element_2 = result_4;\n return element_2;\n });\n let flat_5: any[] = [].concat(...projection_3);\n return flat_5;\n }\n " ));
119
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n let flat_1: any[] = [].concat(...result.items);\n let projection_3 = flat_1.map((element_2: any) => {\n let result_4 = [];\n result_4.push((4.0 > 0.0));\n result_4.push((1.0 == 0.0));\n element_2 = result_4;\n return element_2;\n });\n let flat_5: any[] = [].concat(...projection_3);\n return flat_5;\n }\n " ));
119
120
}
120
121
121
122
@ Test
122
123
public void createLengthFilterInstancesIndex () {
123
124
String result = generateTypescriptInterpretation ("length(Instances[?LifecycleState==\" InService\" ]) >= MinSize" );
124
125
assertThat (result ,
125
- equalTo ("let returnComparator = () => {\n let filterRes_2 = result.Instances.filter((element_1: any) => {\n return (element_1.LifecycleState == element_1.InService);\n });\n return (filterRes_2.length >= result.MinSize);\n }\n " ));
126
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n let filterRes_2 = result.Instances.filter((element_1: any) => {\n return (element_1.LifecycleState == element_1.InService);\n });\n return (filterRes_2.length >= result.MinSize);\n }\n " ));
126
127
}
127
128
128
129
@ Test
129
130
public void createComplexLengthFilterContainsIndex () {
130
131
String result = generateTypescriptInterpretation ("contains(AutoScalingGroups[].[length(Instances[?LifecycleState=='InService']) >= MinSize][], `false`)" );
131
132
assertThat (result ,
132
- equalTo ("let returnComparator = () => {\n let flat_1: any[] = [].concat(...result.AutoScalingGroups);\n let projection_3 = flat_1.map((element_2: any) => {\n let filterRes_5 = element_2.Instances.filter((element_4: any) => {\n return (element_4.LifecycleState == \" InService\" );\n });\n let result_6 = [];\n result_6.push((filterRes_5.length >= element_2.MinSize));\n element_2 = result_6;\n return element_2;\n });\n let flat_7: any[] = [].concat(...projection_3);\n return flat_7.includes(false);\n }\n " ));
133
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n let flat_1: any[] = [].concat(...result.AutoScalingGroups);\n let projection_3 = flat_1.map((element_2: any) => {\n let filterRes_5 = element_2.Instances.filter((element_4: any) => {\n return (element_4.LifecycleState == \" InService\" );\n });\n let result_6 = [];\n result_6.push((filterRes_5.length >= element_2.MinSize));\n element_2 = result_6;\n return element_2;\n });\n let flat_7: any[] = [].concat(...projection_3);\n return flat_7.includes(false);\n }\n " ));
133
134
}
134
135
135
136
@ Test
136
137
public void createNotIndex () {
137
138
String result = generateTypescriptInterpretation ("!(length(items) == `0`)" );
138
139
assertThat (result ,
139
- equalTo ( "let returnComparator = () => {\n return (!(result.items.length == 0.0));\n }\n " ));
140
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n return (!(result.items.length == 0.0));\n }\n " ));
140
141
}
141
142
142
143
@ Test
143
144
public void createOrIndex () {
144
145
String result = generateTypescriptInterpretation ("length(items[]) == `0` || length(foo) > `0`" );
145
146
assertThat (result ,
146
- equalTo ("let returnComparator = () => {\n let flat_1: any[] = [].concat(...result.items);\n return (((flat_1.length == 0.0) || (result.foo.length > 0.0)) && ((result.foo.length > 0.0) || (flat_1.length == 0.0))) ;\n }\n " ));
147
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n let flat_1: any[] = [].concat(...result.items);\n return (((flat_1.length == 0.0) || (result.foo.length > 0.0)) && ((result.foo.length > 0.0) || (flat_1.length == 0.0))) ;\n }\n " ));
147
148
}
148
149
149
150
@ Test
150
151
public void createAndIndex () {
151
152
String result = generateTypescriptInterpretation ("length(items[]) == `0` && length(foo) > `0`" );
152
153
assertThat (result ,
153
- equalTo ("let returnComparator = () => {\n let flat_1: any[] = [].concat(...result.items);\n return ((flat_1.length == 0.0) && (result.foo.length > 0.0));\n }\n " ));
154
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n let flat_1: any[] = [].concat(...result.items);\n return ((flat_1.length == 0.0) && (result.foo.length > 0.0));\n }\n " ));
154
155
}
155
156
156
157
@ Test
157
158
public void createComplexAndNotIndex () {
158
159
String result = generateTypescriptInterpretation ("(length(services[?!(length(deployments) == `1` && runningCount == desiredCount)]) == `0`)" );
159
160
assertThat (result ,
160
- equalTo ("let returnComparator = () => {\n let filterRes_2 = result.services.filter((element_1: any) => {\n return (!((element_1.deployments.length == 1.0) && (element_1.runningCount == element_1.desiredCount)));\n });\n return (filterRes_2.length == 0.0);\n }\n " ));
161
+ equalTo (CODEGEN_INDICATOR + "let returnComparator = () => {\n let filterRes_2 = result.services.filter((element_1: any) => {\n return (!((element_1.deployments.length == 1.0) && (element_1.runningCount == element_1.desiredCount)));\n });\n return (filterRes_2.length == 0.0);\n }\n " ));
161
162
}
162
163
}
0 commit comments