1
1
using Nhl . Api . Enumerations . Game ;
2
2
using Nhl . Api . Enumerations . Statistic ;
3
3
using Nhl . Api . Models . Season ;
4
+ using System . Collections . Concurrent ;
4
5
using System . Linq ;
5
6
6
7
namespace Nhl . Api . Tests ;
@@ -161,7 +162,7 @@ public async Task GetTotalPlayerStatisticValueByTypeAndSeasonAsync_Returns_Valid
161
162
await using var nhlApi = new NhlApi ( ) ;
162
163
163
164
// Act
164
- var result = await nhlApi . GetAllTotalPlayerStatisticValueBySeasonAsync ( playerEnum , seasonYear ) ;
165
+ var result = await nhlApi . GetAllTotalPlayerStatisticValuesBySeasonAsync ( playerEnum , seasonYear ) ;
165
166
166
167
// Assert
167
168
Assert . IsNotNull ( result ) ;
@@ -183,7 +184,7 @@ public async Task GetTotalPlayerStatisticValueByTypeAndSeasonAsync_Returns_Valid
183
184
await using var nhlApi = new NhlApi ( ) ;
184
185
185
186
// Act
186
- var result = await nhlApi . GetAllTotalPlayerStatisticValueBySeasonAsync ( playerId , seasonYear ) ;
187
+ var result = await nhlApi . GetAllTotalPlayerStatisticValuesBySeasonAsync ( playerId , seasonYear ) ;
187
188
188
189
// Assert
189
190
Assert . IsNotNull ( result ) ;
@@ -204,7 +205,7 @@ public async Task GetTotalPlayerStatisticValueByTypeAndSeasonAsync_Returns_Valid
204
205
await using var nhlApi = new NhlApi ( ) ;
205
206
206
207
// Act
207
- var result = await nhlApi . GetAllTotalPlayerStatisticValueBySeasonAsync ( playerId , seasonYear ) ;
208
+ var result = await nhlApi . GetAllTotalPlayerStatisticValuesBySeasonAsync ( playerId , seasonYear , gameType : null ) ;
208
209
209
210
// Assert
210
211
Assert . IsNotNull ( result ) ;
@@ -252,7 +253,7 @@ public async Task GetTotalPlayerStatisticValueByTypeAndSeasonAsync_Returns_Valid
252
253
await using var nhlApi = new NhlApi ( ) ;
253
254
254
255
// Act
255
- var result = await nhlApi . GetAllTotalPlayerStatisticValueBySeasonAsync ( playerEnum , seasonYear ) ;
256
+ var result = await nhlApi . GetAllTotalPlayerStatisticValuesBySeasonAsync ( playerEnum , seasonYear ) ;
256
257
257
258
// Assert
258
259
Assert . IsNotNull ( result ) ;
@@ -289,4 +290,84 @@ public async Task GetTotalPlayerStatisticValueByTypeAndSeasonAsync_Returns_Valid
289
290
break ;
290
291
}
291
292
}
293
+
294
+ [ TestMethodWithRetry ( RetryCount = 5 ) ]
295
+ [ DataRow ( 8478465 , "20232024" ) ]
296
+ [ DataRow ( 8482496 , "20232024" ) ]
297
+ [ DataRow ( 8481479 , "20232024" ) ]
298
+ [ DataRow ( 8477507 , "20232024" ) ]
299
+ public async Task GetTotalPlayerStatisticValuesByTypeAndSeasonAsync_Returns_Valid_Information_With_Player_Id_Certain_Cases ( int playerId , string seasonYear )
300
+ {
301
+ // Arrange
302
+ await using var nhlApi = new NhlApi ( ) ;
303
+
304
+ // Act
305
+ var result = await nhlApi . GetAllTotalPlayerStatisticValuesBySeasonAsync ( playerId , seasonYear , GameType . RegularSeason ) ;
306
+
307
+ // Assert
308
+ Assert . IsNotNull ( result ) ;
309
+ }
310
+
311
+ [ TestMethodWithRetry ( RetryCount = 5 ) ]
312
+ [ DataRow ( PlayerEnum . GuillaumeBrisebois8478465 , "20232024" ) ]
313
+ [ DataRow ( PlayerEnum . NilsAman8482496 , "20232024" ) ]
314
+ [ DataRow ( PlayerEnum . BroganRafferty8481479 , "20232024" ) ]
315
+ [ DataRow ( PlayerEnum . NikitaZadorov8477507 , "20232024" ) ]
316
+ public async Task GetTotalPlayerStatisticValuesByTypeAndSeasonAsync_Returns_Valid_Information_With_Player_Enum_Certain_Cases_For_Regular_Season ( PlayerEnum playerEnum , string seasonYear )
317
+ {
318
+ // Arrange
319
+ await using var nhlApi = new NhlApi ( ) ;
320
+
321
+ // Act
322
+ var result = await nhlApi . GetAllTotalPlayerStatisticValuesBySeasonAsync ( playerEnum , seasonYear , GameType . RegularSeason ) ;
323
+
324
+ // Assert
325
+ Assert . IsNotNull ( result ) ;
326
+ }
327
+
328
+ [ TestMethodWithRetry ( RetryCount = 10 ) ]
329
+ public async Task GetTotalPlayerStatisticValuesByTypeAndSeasonAsync_Returns_Valid_Information_For_Random_Players ( )
330
+ {
331
+ // Arrange
332
+ await using var nhlApi = new NhlApi ( ) ;
333
+
334
+ var indexes = new HashSet < int > ( ) ;
335
+ Enumerable . Range ( 1 , 50 ) . ToList ( ) . ForEach ( i => indexes . Add ( new Random ( ) . Next ( 0 , 1000 ) ) ) ;
336
+
337
+ var concurrentCollection = new ConcurrentBag < PlayerEnum > ( Enum . GetValues ( typeof ( PlayerEnum ) ) . Cast < PlayerEnum > ( ) . ToList ( ) . Select ( ( value , i ) =>
338
+ {
339
+ if ( indexes . Contains ( i ) )
340
+ {
341
+ return value ;
342
+ }
343
+
344
+ return default ;
345
+
346
+ } ) . Where ( x => x != default ) ) ;
347
+
348
+ Parallel . ForEach ( concurrentCollection , new ParallelOptions { MaxDegreeOfParallelism = 16 } , async ( playerEnum ) =>
349
+ {
350
+ // Act
351
+ var result = await nhlApi . GetAllTotalPlayerStatisticValuesBySeasonAsync ( playerEnum , "20232024" , GameType . RegularSeason ) ;
352
+
353
+ // Assert
354
+ Assert . IsNotNull ( result ) ;
355
+ } ) ;
356
+ }
357
+
358
+ [ TestMethodWithRetry ( RetryCount = 5 ) ]
359
+ [ DataRow ( 8471675 , "20122013" ) ]
360
+ [ DataRow ( 8471214 , "20182019" ) ]
361
+ public async Task GetTotalPlayerStatisticValueByTypeAndSeasonAsync_Returns_Valid_Information_With_Player_Id_For_Playoffs ( int playerId , string seasonYear )
362
+ {
363
+ // Arrange
364
+ await using var nhlApi = new NhlApi ( ) ;
365
+
366
+ // Act
367
+ var result = await nhlApi . GetTotalPlayerStatisticValueByTypeAndSeasonAsync ( playerId , PlayerGameCenterStatistic . MissedShot , seasonYear , gameType : GameType . Playoffs ) ;
368
+
369
+ // Assert
370
+ Assert . IsNotNull ( result ) ;
371
+ Assert . IsTrue ( result > 5 ) ;
372
+ }
292
373
}
0 commit comments