@@ -3298,6 +3298,94 @@ func TestNumber12(t *testing.T) {
32983298 assert .Equal (55 , len (characterJson .Character .Deaths ))
32993299}
33003300
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+
33013389func BenchmarkNumber1 (b * testing.B ) {
33023390 file , err := static .TestFiles .Open ("testdata/characters/Darkside Rafa.html" )
33033391 if err != nil {
0 commit comments