@@ -315,4 +315,47 @@ mod tests {
315
315
let history = ChatHistory :: create ( conv, ConversationWindow :: LastN ( 4 ) ) ;
316
316
assert_eq ! ( history. history, expected) ;
317
317
}
318
+
319
+ #[ test]
320
+ fn test_last_n_strategy_with_small_conv ( ) {
321
+ let conv = vec ! [
322
+ Message :: Agent ( "test1" . to_string( ) , None ) ,
323
+ Message :: Feedback ( "feedback1" . to_string( ) , None ) ,
324
+ ] ;
325
+
326
+ let expected = vec ! [
327
+ Message :: Agent ( "test1" . to_string( ) , None ) ,
328
+ Message :: Feedback ( "feedback1" . to_string( ) , None ) ,
329
+ ] ;
330
+
331
+ let history = ChatHistory :: create ( conv, ConversationWindow :: LastN ( 10 ) ) ;
332
+ assert_eq ! ( history. history, expected) ;
333
+ }
334
+
335
+ #[ test]
336
+ fn test_last_n_strategy_with_just_enough ( ) {
337
+ let conv = vec ! [
338
+ Message :: Agent ( "test1" . to_string( ) , None ) ,
339
+ Message :: Feedback ( "feedback1" . to_string( ) , None ) ,
340
+ Message :: Agent ( "test2" . to_string( ) , None ) ,
341
+ Message :: Feedback ( "feedback2" . to_string( ) , None ) ,
342
+ Message :: Agent ( "test3" . to_string( ) , None ) ,
343
+ Message :: Feedback ( "feedback3" . to_string( ) , None ) ,
344
+ Message :: Agent ( "test4" . to_string( ) , None ) ,
345
+ Message :: Feedback ( "feedback4" . to_string( ) , None ) ,
346
+ ] ;
347
+
348
+ let expected = vec ! [
349
+ Message :: Feedback ( "feedback1" . to_string( ) , None ) ,
350
+ Message :: Agent ( "test2" . to_string( ) , None ) ,
351
+ Message :: Feedback ( "feedback2" . to_string( ) , None ) ,
352
+ Message :: Agent ( "test3" . to_string( ) , None ) ,
353
+ Message :: Feedback ( "feedback3" . to_string( ) , None ) ,
354
+ Message :: Agent ( "test4" . to_string( ) , None ) ,
355
+ Message :: Feedback ( "feedback4" . to_string( ) , None ) ,
356
+ ] ;
357
+
358
+ let history = ChatHistory :: create ( conv, ConversationWindow :: LastN ( 7 ) ) ;
359
+ assert_eq ! ( history. history, expected) ;
360
+ }
318
361
}
0 commit comments