@@ -3298,6 +3298,94 @@ func TestNumber12(t *testing.T) {
3298
3298
assert .Equal (55 , len (characterJson .Character .Deaths ))
3299
3299
}
3300
3300
3301
+ func TestNumber13 (t * testing.T ) {
3302
+ file , err := static .TestFiles .Open ("testdata/characters/Ninth Dimension.html" )
3303
+ if err != nil {
3304
+ t .Fatalf ("file opening error: %s" , err )
3305
+ }
3306
+ defer file .Close ()
3307
+
3308
+ data , err := io .ReadAll (file )
3309
+ if err != nil {
3310
+ t .Fatalf ("File reading error: %s" , err )
3311
+ }
3312
+
3313
+ characterJson , err := TibiaCharactersCharacterImpl (string (data ))
3314
+ if err != nil {
3315
+ t .Fatal (err )
3316
+ }
3317
+
3318
+ assert := assert .New (t )
3319
+ character := characterJson .Character .CharacterInfo
3320
+
3321
+ assert .Equal ("Ninth Dimension" , character .Name )
3322
+ assert .False (characterJson .Character .DeathsTruncated )
3323
+
3324
+ // validate death data
3325
+ assert .Equal (1 , len (characterJson .Character .Deaths ))
3326
+ deaths := characterJson .Character .Deaths
3327
+
3328
+ for idx , tc := range []struct {
3329
+ Assists []Killers
3330
+ Killers []Killers
3331
+ Level int
3332
+ Reason string
3333
+ Time string
3334
+ }{
3335
+ {
3336
+ Assists : []Killers {
3337
+ {Name : "Dark Assa" , Player : true , Traded : false , Summon : "" },
3338
+ },
3339
+ Killers : []Killers {
3340
+ {Name : "Pess Joeru" , Player : true , Traded : false , Summon : "" },
3341
+ {Name : "Curly Da Goonx" , Player : true , Traded : false , Summon : "" },
3342
+ {Name : "Setarehh" , Player : true , Traded : false , Summon : "" },
3343
+ {Name : "Skkrimz" , Player : true , Traded : false , Summon : "" },
3344
+ {Name : "Luna Mors" , Player : true , Traded : false , Summon : "" },
3345
+ {Name : "Micklo" , Player : true , Traded : false , Summon : "" },
3346
+ {Name : "Kate Morningstar" , Player : true , Traded : false , Summon : "" },
3347
+ {Name : "Avatar Avatar" , Player : true , Traded : false , Summon : "" },
3348
+ {Name : "San Bernardino Hoodrat" , Player : true , Traded : false , Summon : "" },
3349
+ {Name : "Mighty Nitro" , Player : true , Traded : false , Summon : "" },
3350
+ {Name : "Aiakosz" , Player : true , Traded : false , Summon : "" },
3351
+ {Name : "Sithaadoz" , Player : true , Traded : false , Summon : "" },
3352
+ {Name : "Compa Ache" , Player : true , Traded : false , Summon : "" },
3353
+ {Name : "Cave Stormer" , Player : true , Traded : false , Summon : "" },
3354
+ {Name : "Doppler and Bankrupt" , Player : true , Traded : false , Summon : "" },
3355
+ },
3356
+ Level : 544 ,
3357
+ Reason : "Eliminated at Level 544 by Pess Joeru, Curly Da Goonx, Setarehh, Skkrimz, Luna Mors, Micklo, Kate Morningstar, Avatar Avatar, San Bernardino Hoodrat, Mighty Nitro, Aiakosz, Sithaadoz, Compa Ache, Cave Stormer and Doppler and Bankrupt. Assisted by Dark Assa." ,
3358
+ Time : "2024-03-12T21:02:33Z" ,
3359
+ },
3360
+ } {
3361
+ assert .True (
3362
+ reflect .DeepEqual (deaths [idx ].Assists , tc .Assists ),
3363
+ "Wrong assists\n idx: %d\n want: %#v\n \n got: %#v" ,
3364
+ idx , tc .Assists , deaths [idx ].Assists ,
3365
+ )
3366
+ assert .True (
3367
+ reflect .DeepEqual (deaths [idx ].Killers , tc .Killers ),
3368
+ "Wrong killers\n idx: %d\n want: %#v\n \n got: %#v" ,
3369
+ idx , tc .Killers , deaths [idx ].Killers ,
3370
+ )
3371
+ assert .Equal (
3372
+ deaths [idx ].Level , tc .Level ,
3373
+ "Wrong Level\n idx: %d\n want: %d\n \n got: %d" ,
3374
+ idx , tc .Level , deaths [idx ].Level ,
3375
+ )
3376
+ assert .Equal (
3377
+ deaths [idx ].Reason , tc .Reason ,
3378
+ "Wrong Reason\n idx: %d\n want: %s\n \n got: %s" ,
3379
+ idx , tc .Reason , deaths [idx ].Reason ,
3380
+ )
3381
+ assert .Equal (
3382
+ tc .Time , deaths [idx ].Time ,
3383
+ "Wrong Time\n idx: %d\n want: %s\n \n got: %s" ,
3384
+ idx , tc .Time , deaths [idx ].Time ,
3385
+ )
3386
+ }
3387
+ }
3388
+
3301
3389
func BenchmarkNumber1 (b * testing.B ) {
3302
3390
file , err := static .TestFiles .Open ("testdata/characters/Darkside Rafa.html" )
3303
3391
if err != nil {
0 commit comments