@@ -3,6 +3,7 @@ use crate::test_suite::TestSuite;
33
44use crate :: search_service:: SearchService ;
55use crate :: test_result:: TestResult ;
6+ use crate :: timed_search_results:: TimedSearchResults ;
67use anyhow:: Result ;
78
89#[ derive( Debug ) ]
@@ -28,36 +29,35 @@ impl<T: SearchService> Runner<T> {
2829 }
2930
3031 fn run_test ( & self , test_case : & TestCase ) -> TestResult {
31- let results = self . search_service . search ( test_case) ;
32+ let response = self . search_service . search ( test_case) ;
33+ let results = TimedSearchResults :: from ( response) ;
3234 TestResult :: new ( test_case, & results)
3335 }
3436}
3537
3638#[ cfg( test) ]
3739mod tests {
3840 use super :: * ;
39- use crate :: identifiers:: SuttaplexUid ;
40- use crate :: response:: general:: SearchResults ;
41- use crate :: timed_search_results:: TimedSearchResults ;
41+ use crate :: timed_response:: TimedResponse ;
4242 use std:: cell:: RefCell ;
4343 use std:: time:: Duration ;
4444
4545 #[ derive( Debug ) ]
4646 struct FakeSearchService {
47- results : RefCell < Vec < TimedSearchResults > > ,
47+ responses : RefCell < Vec < TimedResponse > > ,
4848 }
4949
5050 impl FakeSearchService {
51- fn new ( results : Vec < TimedSearchResults > ) -> FakeSearchService {
51+ fn new ( responses : Vec < TimedResponse > ) -> FakeSearchService {
5252 Self {
53- results : RefCell :: new ( results ) ,
53+ responses : RefCell :: new ( responses ) ,
5454 }
5555 }
5656 }
5757
5858 impl SearchService for FakeSearchService {
59- fn search ( & self , _: & TestCase ) -> TimedSearchResults {
60- self . results . borrow_mut ( ) . pop ( ) . unwrap ( )
59+ fn search ( & self , _: & TestCase ) -> TimedResponse {
60+ self . responses . borrow_mut ( ) . pop ( ) . unwrap ( )
6161 }
6262 }
6363
@@ -124,18 +124,14 @@ mod tests {
124124 )
125125 . unwrap ( ) ;
126126
127- let search_results = TimedSearchResults {
127+ let service = FakeSearchService :: new ( vec ! [ TimedResponse {
128128 elapsed: Duration :: from_secs( 3 ) ,
129- results : Ok ( SearchResults {
130- text : Vec :: new ( ) ,
131- dictionary : Vec :: new ( ) ,
132- suttaplex : vec ! [ SuttaplexUid :: from( "snp1.8" ) ] ,
133- } ) ,
134- } ;
135-
136- let engine = FakeSearchService :: new ( vec ! [ search_results] ) ;
137- let runner = Runner :: new ( & suite, engine) . unwrap ( ) ;
129+ json: Ok ( String :: from( r#"{ "suttaplex": [ { "uid": "mn1" } ] } "# ) ) ,
130+ } ] ) ;
131+
132+ let runner = Runner :: new ( & suite, service) . unwrap ( ) ;
138133 let test_result = runner. run ( ) . next ( ) . unwrap ( ) ;
134+
139135 assert_eq ! ( test_result. elapsed, Duration :: from_secs( 3 ) )
140136 }
141137}
0 commit comments