1- using NUnit . Framework ;
1+ using System . Reflection ;
2+ using NUnit . Framework ;
23using Nest . Tests . MockData . Domain ;
34
45namespace Nest . Tests . Unit . Search . Sort
56{
6- [ TestFixture ]
7- public class SortTests
8- {
9- [ Test ]
10- public void TestSort ( )
11- {
12- var s = new SearchDescriptor < ElasticSearchProject > ( )
13- . From ( 0 )
14- . Size ( 10 )
15- . Sort ( sort => sort
16- . OnField ( e => e . Country )
17- . MissingLast ( )
18- . Descending ( )
19- ) ;
20- var json = TestElasticClient . Serialize ( s ) ;
21- var expected = @" {
7+ [ TestFixture ]
8+ public class SortTests : BaseJsonTests
9+ {
10+ [ Test ]
11+ public void TestSort ( )
12+ {
13+ var s = new SearchDescriptor < ElasticSearchProject > ( )
14+ . From ( 0 )
15+ . Size ( 10 )
16+ . Sort ( sort => sort
17+ . OnField ( e => e . Country )
18+ . MissingLast ( )
19+ . Descending ( )
20+ ) ;
21+ var json = TestElasticClient . Serialize ( s ) ;
22+ var expected = @" {
2223 from: 0,
2324 size: 10,
2425 sort: {
@@ -28,22 +29,22 @@ public void TestSort()
2829 }
2930 }
3031 }" ;
31- Assert . True ( json . JsonEquals ( expected ) , json ) ;
32- }
32+ Assert . True ( json . JsonEquals ( expected ) , json ) ;
33+ }
3334
34- [ Test ]
35- public void TestSortOnSortField ( )
36- {
37- var s = new SearchDescriptor < ElasticSearchProject > ( )
38- . From ( 0 )
39- . Size ( 10 )
40- . Sort ( sort => sort
41- . OnField ( e => e . Name )
42- . MissingLast ( )
43- . Descending ( )
44- ) ;
45- var json = TestElasticClient . Serialize ( s ) ;
46- var expected = @" {
35+ [ Test ]
36+ public void TestSortOnSortField ( )
37+ {
38+ var s = new SearchDescriptor < ElasticSearchProject > ( )
39+ . From ( 0 )
40+ . Size ( 10 )
41+ . Sort ( sort => sort
42+ . OnField ( e => e . Name )
43+ . MissingLast ( )
44+ . Descending ( )
45+ ) ;
46+ var json = TestElasticClient . Serialize ( s ) ;
47+ var expected = @" {
4748 from: 0,
4849 size: 10,
4950 sort: {
@@ -53,95 +54,95 @@ public void TestSortOnSortField()
5354 }
5455 }
5556 }" ;
56- Assert . True ( json . JsonEquals ( expected ) , json ) ;
57- }
57+ Assert . True ( json . JsonEquals ( expected ) , json ) ;
58+ }
5859
59- [ Test ]
60- public void TestSortAscending ( )
61- {
62- var s = new SearchDescriptor < ElasticSearchProject > ( )
63- . From ( 0 )
64- . Size ( 10 )
65- . SortAscending ( f => f . Country ) ;
66- var json = TestElasticClient . Serialize ( s ) ;
67- var expected = @" {
60+ [ Test ]
61+ public void TestSortAscending ( )
62+ {
63+ var s = new SearchDescriptor < ElasticSearchProject > ( )
64+ . From ( 0 )
65+ . Size ( 10 )
66+ . SortAscending ( f => f . Country ) ;
67+ var json = TestElasticClient . Serialize ( s ) ;
68+ var expected = @" {
6869 from: 0,
6970 size: 10,
7071 sort: {
7172 country : ""asc""
7273 }
7374 }" ;
74- Assert . True ( json . JsonEquals ( expected ) , json ) ;
75- }
75+ Assert . True ( json . JsonEquals ( expected ) , json ) ;
76+ }
7677
77- [ Test ]
78- public void TestSortDescending ( )
79- {
80- var s = new SearchDescriptor < ElasticSearchProject > ( )
81- . From ( 0 )
82- . Size ( 10 )
83- . SortDescending ( f => f . Country ) ;
84- var json = TestElasticClient . Serialize ( s ) ;
85- var expected = @" {
78+ [ Test ]
79+ public void TestSortDescending ( )
80+ {
81+ var s = new SearchDescriptor < ElasticSearchProject > ( )
82+ . From ( 0 )
83+ . Size ( 10 )
84+ . SortDescending ( f => f . Country ) ;
85+ var json = TestElasticClient . Serialize ( s ) ;
86+ var expected = @" {
8687 from: 0,
8788 size: 10,
8889 sort: {
8990 country : ""desc""
9091 }
9192 }" ;
92- Assert . True ( json . JsonEquals ( expected ) , json ) ;
93- }
93+ Assert . True ( json . JsonEquals ( expected ) , json ) ;
94+ }
9495
95- [ Test ]
96- public void TestSortAscendingOnSortField ( )
97- {
98- var s = new SearchDescriptor < ElasticSearchProject > ( )
99- . From ( 0 )
100- . Size ( 10 )
101- . SortAscending ( f => f . Name ) ;
102- var json = TestElasticClient . Serialize ( s ) ;
103- var expected = @" {
96+ [ Test ]
97+ public void TestSortAscendingOnSortField ( )
98+ {
99+ var s = new SearchDescriptor < ElasticSearchProject > ( )
100+ . From ( 0 )
101+ . Size ( 10 )
102+ . SortAscending ( f => f . Name ) ;
103+ var json = TestElasticClient . Serialize ( s ) ;
104+ var expected = @" {
104105 from: 0,
105106 size: 10,
106107 sort: {
107108 ""name.sort"" : ""asc""
108109 }
109110 }" ;
110- Assert . True ( json . JsonEquals ( expected ) , json ) ;
111- }
111+ Assert . True ( json . JsonEquals ( expected ) , json ) ;
112+ }
112113
113- [ Test ]
114- public void TestSortDescendingOnSortField ( )
115- {
116- var s = new SearchDescriptor < ElasticSearchProject > ( )
117- . From ( 0 )
118- . Size ( 10 )
119- . SortDescending ( f => f . Name ) ;
120- var json = TestElasticClient . Serialize ( s ) ;
121- var expected = @" {
114+ [ Test ]
115+ public void TestSortDescendingOnSortField ( )
116+ {
117+ var s = new SearchDescriptor < ElasticSearchProject > ( )
118+ . From ( 0 )
119+ . Size ( 10 )
120+ . SortDescending ( f => f . Name ) ;
121+ var json = TestElasticClient . Serialize ( s ) ;
122+ var expected = @" {
122123 from: 0,
123124 size: 10,
124125 sort: {
125126 ""name.sort"" : ""desc""
126127 }
127128 }" ;
128- Assert . True ( json . JsonEquals ( expected ) , json ) ;
129- }
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 = @" {
129+ Assert . True ( json . JsonEquals ( expected ) , json ) ;
130+ }
131+ [ Test ]
132+ public void TestSortGeo ( )
133+ {
134+ var s = new SearchDescriptor < ElasticSearchProject > ( )
135+ . From ( 0 )
136+ . Size ( 10 )
137+ . SortGeoDistance ( sort => sort
138+ . OnField ( e => e . Origin )
139+ . MissingLast ( )
140+ . Descending ( )
141+ . PinTo ( 40 , - 70 )
142+ . Unit ( GeoUnit . km )
143+ ) ;
144+ var json = TestElasticClient . Serialize ( s ) ;
145+ var expected = @" {
145146 from: 0,
146147 size: 10,
147148 sort: {
@@ -153,25 +154,25 @@ public void TestSortGeo()
153154 }
154155 }
155156 }" ;
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 = @" {
157+ Assert . True ( json . JsonEquals ( expected ) , json ) ;
158+ }
159+ [ Test ]
160+ public void TestSortScript ( )
161+ {
162+ var s = new SearchDescriptor < ElasticSearchProject > ( )
163+ . From ( 0 )
164+ . Size ( 10 )
165+ . SortScript ( sort => sort
166+ . MissingLast ( )
167+ . Descending ( )
168+ . Script ( "doc['field_name'].value * factor" )
169+ . Params ( p => p
170+ . Add ( "factor" , 1.1 )
171+ )
172+ . Type ( "number" )
173+ ) ;
174+ var json = TestElasticClient . Serialize ( s ) ;
175+ var expected = @" {
175176 from: 0,
176177 size: 10,
177178 sort: {
@@ -186,7 +187,23 @@ public void TestSortScript()
186187 }
187188 }
188189 }" ;
189- Assert . True ( json . JsonEquals ( expected ) , json ) ;
190- }
191- }
190+ Assert . True ( json . JsonEquals ( expected ) , json ) ;
191+ }
192+ [ Test ]
193+ public void RandomScriptSort ( )
194+ {
195+ var s = new SearchDescriptor < ElasticSearchProject > ( )
196+ . From ( 0 )
197+ . Size ( 10 )
198+ . SortScript ( sort => sort
199+ . Ascending ( )
200+ . Script ( "(doc['_id'].stringValue + salt).hashCode()" )
201+ . Params ( p => p
202+ . Add ( "salt" , "some_random_string" )
203+ )
204+ . Type ( "number" )
205+ ) ;
206+ this . JsonEquals ( s , MethodInfo . GetCurrentMethod ( ) ) ;
207+ }
208+ }
192209}
0 commit comments