@@ -82,6 +82,7 @@ describe('SparqlBenchmarkRunner', () => {
8282 } ) ;
8383
8484 const results = await runner . run ( ) ;
85+ const resultsRaw = await runner . runWithRawResults ( ) ;
8586
8687 const expectedResults : IAggregateResult [ ] = [
8788 {
@@ -178,15 +179,23 @@ describe('SparqlBenchmarkRunner', () => {
178179 } ,
179180 ] ;
180181
181- // Calls: (warmup + replication) * queryset size
182- const expectedCalls = Object . values ( querySets ) . flatMap ( qs => qs ) . length * ( replication + warmup ) ;
182+ // Calls: (warmup + replication) * queryset size * 2 (accounting for both test executions)
183+ const expectedCalls = Object . values ( querySets ) . flatMap ( qs => qs ) . length * ( replication + warmup ) * 2 ;
183184 expect ( fetcher . fetchBindings ) . toHaveBeenCalledTimes ( expectedCalls ) ;
184185 expect ( fetch ) . toHaveBeenCalledTimes ( expectedCalls ) ;
185186
186- expect ( Array . isArray ( results ) ) . toBe ( false ) ;
187- expect ( ( < { 0 ?: IAggregateResult } > < unknown > results ) [ 0 ] ) . toBeUndefined ( ) ;
188- expect ( results . aggregateResults ) . toEqual ( expectedResults ) ;
189- expect ( results . rawResults ) . toHaveLength ( Object . values ( querySets ) . flatMap ( qs => qs ) . length * replication ) ;
187+ // Validate run()
188+ expect ( Array . isArray ( results ) ) . toBe ( true ) ;
189+ expect ( ( < { rawResults ?: any } > < unknown > results ) . rawResults ) . toBeUndefined ( ) ;
190+ expect ( results ) . toEqual ( expectedResults ) ;
191+
192+ // Validate runWithRawResults() structure and lengths
193+ expect ( resultsRaw ) . toHaveProperty ( 'aggregateResults' ) ;
194+ expect ( resultsRaw ) . toHaveProperty ( 'rawResults' ) ;
195+ expect ( Array . isArray ( resultsRaw . aggregateResults ) ) . toBe ( true ) ;
196+ expect ( Array . isArray ( resultsRaw . rawResults ) ) . toBe ( true ) ;
197+ expect ( resultsRaw . aggregateResults ) . toHaveLength ( expectedResults . length ) ;
198+ expect ( resultsRaw . rawResults ) . toHaveLength ( Object . values ( querySets ) . flatMap ( qs => qs ) . length * replication ) ;
190199 } ) ;
191200
192201 it ( 'waits until endpoint is up' , async ( ) => {
0 commit comments