1
1
using NUnit . Framework ;
2
2
using Nest . Tests . MockData . Domain ;
3
3
4
- namespace Nest . Tests . Unit . Search . Sort
5
- {
4
+ namespace Nest . Tests . Unit . Search . Sort {
6
5
[ TestFixture ]
7
- public class SortTests
8
- {
6
+ public class SortTests {
9
7
[ Test ]
10
- public void TestSort ( )
11
- {
8
+ public void TestSort ( ) {
12
9
var s = new SearchDescriptor < ElasticSearchProject > ( )
13
10
. From ( 0 )
14
11
. Size ( 10 )
15
- . Sort ( sort => sort
16
- . OnField ( e => e . Country )
17
- . MissingLast ( )
18
- . Descending ( )
19
- ) ;
12
+ . Sort ( sort => sort
13
+ . OnField ( e => e . Country )
14
+ . MissingLast ( )
15
+ . Descending ( )
16
+ ) ;
20
17
var json = TestElasticClient . Serialize ( s ) ;
21
- var expected = @" {
22
- from: 0,
23
- size: 10,
24
- sort: {
25
- country: {
26
- missing: ""_last"",
27
- order: ""desc""
28
- }
29
- }
30
- }" ;
18
+ var expected = @"
19
+ {
20
+ from: 0,
21
+ size: 10,
22
+ sort: {
23
+ country: {
24
+ missing: ""_last"",
25
+ order: ""desc""
26
+ }
27
+ }
28
+ }" ;
31
29
Assert . True ( json . JsonEquals ( expected ) , json ) ;
32
30
}
33
31
34
32
[ Test ]
35
- public void TestSortOnSortField ( )
36
- {
33
+ public void TestSortOnSortField ( ) {
37
34
var s = new SearchDescriptor < ElasticSearchProject > ( )
38
35
. From ( 0 )
39
36
. Size ( 10 )
40
- . Sort ( sort => sort
41
- . OnField ( e => e . Name )
42
- . MissingLast ( )
43
- . Descending ( )
44
- ) ;
37
+ . Sort ( sort => sort
38
+ . OnField ( e => e . Name )
39
+ . MissingLast ( )
40
+ . Descending ( )
41
+ ) ;
45
42
var json = TestElasticClient . Serialize ( s ) ;
46
- var expected = @" {
47
- from: 0,
48
- size: 10,
49
- sort: {
50
- ""name.sort"": {
51
- missing: ""_last"",
52
- order: ""desc""
53
- }
54
- }
55
- }" ;
43
+ var expected = @"
44
+ {
45
+ from: 0,
46
+ size: 10,
47
+ sort: {
48
+ ""name.sort"": {
49
+ missing: ""_last"",
50
+ order: ""desc""
51
+ }
52
+ }
53
+ }" ;
56
54
Assert . True ( json . JsonEquals ( expected ) , json ) ;
57
55
}
58
56
59
57
[ Test ]
60
- public void TestSortAscending ( )
61
- {
58
+ public void TestSortAscending ( ) {
62
59
var s = new SearchDescriptor < ElasticSearchProject > ( )
63
60
. From ( 0 )
64
61
. Size ( 10 )
65
62
. SortAscending ( f => f . Country ) ;
66
63
var json = TestElasticClient . Serialize ( s ) ;
67
- var expected = @" {
68
- from: 0,
69
- size: 10,
70
- sort: {
71
- country : ""asc""
72
- }
73
- }" ;
64
+ var expected = @"
65
+ {
66
+ from: 0,
67
+ size: 10,
68
+ sort: {
69
+ country : ""asc""
70
+ }
71
+ }" ;
74
72
Assert . True ( json . JsonEquals ( expected ) , json ) ;
75
73
}
76
74
77
75
[ Test ]
78
- public void TestSortDescending ( )
79
- {
76
+ public void TestSortDescending ( ) {
80
77
var s = new SearchDescriptor < ElasticSearchProject > ( )
81
78
. From ( 0 )
82
79
. Size ( 10 )
83
80
. SortDescending ( f => f . Country ) ;
84
81
var json = TestElasticClient . Serialize ( s ) ;
85
- var expected = @" {
86
- from: 0,
87
- size: 10,
88
- sort: {
89
- country : ""desc""
90
- }
91
- }" ;
82
+ var expected = @"
83
+ {
84
+ from: 0,
85
+ size: 10,
86
+ sort: {
87
+ country : ""desc""
88
+ }
89
+ }" ;
92
90
Assert . True ( json . JsonEquals ( expected ) , json ) ;
93
91
}
94
92
95
93
[ Test ]
96
- public void TestSortAscendingOnSortField ( )
97
- {
94
+ public void TestSortAscendingOnSortField ( ) {
98
95
var s = new SearchDescriptor < ElasticSearchProject > ( )
99
96
. From ( 0 )
100
97
. Size ( 10 )
101
98
. SortAscending ( f => f . Name ) ;
102
99
var json = TestElasticClient . Serialize ( s ) ;
103
- var expected = @" {
104
- from: 0,
105
- size: 10,
106
- sort: {
107
- ""name.sort"" : ""asc""
108
- }
109
- }" ;
100
+ var expected = @"
101
+ {
102
+ from: 0,
103
+ size: 10,
104
+ sort: {
105
+ ""name.sort"" : ""asc""
106
+ }
107
+ }" ;
110
108
Assert . True ( json . JsonEquals ( expected ) , json ) ;
111
109
}
112
110
113
111
[ Test ]
114
- public void TestSortDescendingOnSortField ( )
115
- {
112
+ public void TestSortDescendingOnSortField ( ) {
116
113
var s = new SearchDescriptor < ElasticSearchProject > ( )
117
114
. From ( 0 )
118
115
. Size ( 10 )
119
116
. SortDescending ( f => f . Name ) ;
120
117
var json = TestElasticClient . Serialize ( s ) ;
121
- var expected = @" {
122
- from: 0,
123
- size: 10,
124
- sort: {
125
- ""name.sort"" : ""desc""
126
- }
127
- }" ;
118
+ var expected = @"
119
+ {
120
+ from: 0,
121
+ size: 10,
122
+ sort: {
123
+ ""name.sort"" : ""desc""
124
+ }
125
+ }" ;
126
+ Assert . True ( json . JsonEquals ( expected ) , json ) ;
127
+ }
128
+
129
+ [ Test ]
130
+ public void TestSortGeo ( ) {
131
+ var s = new SearchDescriptor < ElasticSearchProject > ( )
132
+ . From ( 0 )
133
+ . Size ( 10 )
134
+ . SortGeoDistance ( sort => sort
135
+ . OnField ( e => e . Origin )
136
+ . MissingLast ( )
137
+ . Descending ( )
138
+ . PinTo ( 40 , - 70 )
139
+ . Unit ( GeoUnit . km )
140
+ ) ;
141
+ var json = TestElasticClient . Serialize ( s ) ;
142
+ var expected = @"
143
+ {
144
+ from: 0,
145
+ size: 10,
146
+ sort: {
147
+ _geo_distance: {
148
+ missing: ""_last"",
149
+ order: ""desc"",
150
+ ""origin"": ""40, -70"",
151
+ unit: ""km""
152
+ }
153
+ }
154
+ }" ;
155
+ Assert . True ( json . JsonEquals ( expected ) , json ) ;
156
+ }
157
+
158
+ [ Test ]
159
+ public void TestSortScript ( ) {
160
+ var s = new SearchDescriptor < ElasticSearchProject > ( )
161
+ . From ( 0 )
162
+ . Size ( 10 )
163
+ . SortScript ( sort => sort
164
+ . MissingLast ( )
165
+ . Descending ( )
166
+ . Script ( "doc['field_name'].value * factor" )
167
+ . Params ( p => p
168
+ . Add ( "factor" , 1.1 )
169
+ )
170
+ . Type ( "number" )
171
+ ) ;
172
+ var json = TestElasticClient . Serialize ( s ) ;
173
+ var expected = @"
174
+ {
175
+ from: 0,
176
+ size: 10,
177
+ sort: {
178
+ _script: {
179
+ missing: ""_last"",
180
+ order: ""desc"",
181
+ type: ""number"",
182
+ script: ""doc['field_name'].value * factor"",
183
+ params: {
184
+ factor: 1.1
185
+ }
186
+ }
187
+ }
188
+ }" ;
189
+ Assert . True ( json . JsonEquals ( expected ) , json ) ;
190
+ }
191
+
192
+ [ Test ]
193
+ public void TestNestedFilter ( ) {
194
+ var s = new SearchDescriptor < ElasticSearchProject > ( )
195
+ . Sort ( sort => sort
196
+ . OnField ( e => e . Id )
197
+ . NestedFilter ( f => f . Term ( "name" , "value" ) )
198
+ ) ;
199
+ var json = TestElasticClient . Serialize ( s ) ;
200
+ var expected = @"
201
+ {
202
+ ""sort"": {
203
+ ""id"": {
204
+ ""nested_filter"": {
205
+ ""term"": {
206
+ ""name"": ""value""
207
+ }
208
+ }
209
+ }
210
+ }
211
+ }" ;
212
+ Assert . True ( json . JsonEquals ( expected ) , json ) ;
213
+ }
214
+
215
+ [ Test ]
216
+ public void TestNestedPath ( ) {
217
+ var s = new SearchDescriptor < ElasticSearchProject > ( )
218
+ . Sort ( sort => sort
219
+ . OnField ( e => e . Id )
220
+ . NestedPath ( "name" )
221
+ ) ;
222
+ var json = TestElasticClient . Serialize ( s ) ;
223
+ var expected = @"
224
+ {
225
+ ""sort"": {
226
+ ""id"": {
227
+ ""nested_path"": ""name""
228
+ }
229
+ }
230
+ }" ;
231
+ Assert . True ( json . JsonEquals ( expected ) , json ) ;
232
+ }
233
+
234
+ [ Test ]
235
+ public void TestNestedPathObject ( ) {
236
+ var s = new SearchDescriptor < ElasticSearchProject > ( )
237
+ . Sort ( sort => sort
238
+ . OnField ( e => e . Id )
239
+ . NestedPath ( f => f . Name )
240
+ ) ;
241
+ var json = TestElasticClient . Serialize ( s ) ;
242
+ var expected = @"
243
+ {
244
+ ""sort"": {
245
+ ""id"": {
246
+ ""nested_path"": ""name""
247
+ }
248
+ }
249
+ }" ;
128
250
Assert . True ( json . JsonEquals ( expected ) , json ) ;
129
251
}
130
- [ Test ]
131
- public void TestSortGeo ( )
132
- {
133
- var s = new SearchDescriptor < ElasticSearchProject > ( )
134
- . From ( 0 )
135
- . Size ( 10 )
136
- . SortGeoDistance ( sort => sort
137
- . OnField ( e => e . Origin )
138
- . MissingLast ( )
139
- . Descending ( )
140
- . PinTo ( 40 , - 70 )
141
- . Unit ( GeoUnit . km )
142
- ) ;
143
- var json = TestElasticClient . Serialize ( s ) ;
144
- var expected = @" {
145
- from: 0,
146
- size: 10,
147
- sort: {
148
- _geo_distance: {
149
- missing: ""_last"",
150
- order: ""desc"",
151
- ""origin"": ""40, -70"",
152
- unit: ""km""
153
- }
154
- }
155
- }" ;
156
- Assert . True ( json . JsonEquals ( expected ) , json ) ;
157
- }
158
- [ Test ]
159
- public void TestSortScript ( )
160
- {
161
- var s = new SearchDescriptor < ElasticSearchProject > ( )
162
- . From ( 0 )
163
- . Size ( 10 )
164
- . SortScript ( sort => sort
165
- . MissingLast ( )
166
- . Descending ( )
167
- . Script ( "doc['field_name'].value * factor" )
168
- . Params ( p=> p
169
- . Add ( "factor" , 1.1 )
170
- )
171
- . Type ( "number" )
172
- ) ;
173
- var json = TestElasticClient . Serialize ( s ) ;
174
- var expected = @" {
175
- from: 0,
176
- size: 10,
177
- sort: {
178
- _script: {
179
- missing: ""_last"",
180
- order: ""desc"",
181
- type: ""number"",
182
- script: ""doc['field_name'].value * factor"",
183
- params: {
184
- factor: 1.1
185
- }
186
- }
187
- }
188
- }" ;
189
- Assert . True ( json . JsonEquals ( expected ) , json ) ;
190
- }
191
252
}
192
- }
253
+ }
0 commit comments