@@ -172,6 +172,36 @@ public async Task TestScoreVars()
172172 Assert . IsNull ( r2 . Results [ 0 ] . ScoreVars ) ;
173173 }
174174
175+ [ Test ]
176+ public async Task TestRankingExpression ( )
177+ {
178+ var feed = this . RankedFeed ;
179+
180+ var newActivity1 = new Activity ( "1" , "test" , "1" )
181+ {
182+ ForeignId = "r-test-1" ,
183+ Time = DateTime . Parse ( "2000-08-16T16:32:32" ) ,
184+ } ;
185+
186+ newActivity1 . SetData ( "popularity" , 123 ) ;
187+ var r1 = await feed . AddActivityAsync ( newActivity1 ) ;
188+
189+ // Test with ranking expression flag
190+ var r2 = await feed . GetFlatActivitiesAsync ( GetOptions . Default . WithLimit ( 1 ) . WithRanking ( "popularity" ) . WithRankingExpr ( ) ) ;
191+ Assert . IsNotNull ( r2 . RankingExpression ) ;
192+ Assert . IsNotEmpty ( r2 . RankingExpression ) ;
193+
194+ // Test without ranking expression flag
195+ r2 = await feed . GetFlatActivitiesAsync ( GetOptions . Default . WithLimit ( 1 ) . WithRanking ( "popularity" ) ) ;
196+ Assert . IsNull ( r2 . RankingExpression ) ;
197+
198+ // Test with both score vars and ranking expression
199+ r2 = await feed . GetFlatActivitiesAsync ( GetOptions . Default . WithLimit ( 1 ) . WithRanking ( "popularity" ) . WithScoreVars ( ) . WithRankingExpr ( ) ) ;
200+ Assert . IsNotNull ( r2 . RankingExpression ) ;
201+ Assert . IsNotEmpty ( r2 . RankingExpression ) ;
202+ Assert . IsNotNull ( r2 . Results [ 0 ] . ScoreVars ) ;
203+ }
204+
175205 [ Test ]
176206 public async Task TestGetActivitiesByForeignIDAndTime ( )
177207 {
0 commit comments