@@ -3997,6 +3997,84 @@ func TestNumber16(t *testing.T) {
3997
3997
}
3998
3998
}
3999
3999
4000
+ func TestNumber17 (t * testing.T ) {
4001
+ file , err := static .TestFiles .Open ("testdata/characters/Akayev.html" )
4002
+ if err != nil {
4003
+ t .Fatalf ("file opening error: %s" , err )
4004
+ }
4005
+ defer file .Close ()
4006
+
4007
+ data , err := io .ReadAll (file )
4008
+ if err != nil {
4009
+ t .Fatalf ("File reading error: %s" , err )
4010
+ }
4011
+
4012
+ characterJson , err := TibiaCharactersCharacterImpl (string (data ), "" )
4013
+ if err != nil {
4014
+ t .Fatal (err )
4015
+ }
4016
+
4017
+ assert := assert .New (t )
4018
+ character := characterJson .Character .CharacterInfo
4019
+
4020
+ assert .Equal ("Akayev" , character .Name )
4021
+ assert .False (characterJson .Character .DeathsTruncated )
4022
+
4023
+ // validate death data
4024
+ assert .Equal (1 , len (characterJson .Character .Deaths ))
4025
+ deaths := characterJson .Character .Deaths
4026
+
4027
+ for idx , tc := range []struct {
4028
+ Assists []Killers
4029
+ Killers []Killers
4030
+ Level int
4031
+ Reason string
4032
+ Time string
4033
+ }{
4034
+ {
4035
+ Assists : []Killers {},
4036
+ Killers : []Killers {
4037
+ {Name : "Shooter Scotty" , Player : true , Traded : false , Summon : "" },
4038
+ {Name : "Simpkan" , Player : true , Traded : false , Summon : "" },
4039
+ {Name : "Spektrozz" , Player : true , Traded : false , Summon : "" },
4040
+ {Name : "Toxic Raksoo" , Player : true , Traded : false , Summon : "" },
4041
+ {Name : "Delerioo" , Player : true , Traded : false , Summon : "" },
4042
+ {Name : "Gugu Lurifax" , Player : true , Traded : false , Summon : "" },
4043
+ {Name : "Viniciao Novamente" , Player : true , Traded : false , Summon : "" },
4044
+ },
4045
+ Level : 645 ,
4046
+ Reason : "Slain at Level 645 by Shooter Scotty, Simpkan, Spektrozz, Toxic Raksoo, Delerioo, Gugu Lurifax and Viniciao Novamente." ,
4047
+ Time : "2025-03-25T11:08:07Z" ,
4048
+ },
4049
+ } {
4050
+ assert .True (
4051
+ reflect .DeepEqual (deaths [idx ].Assists , tc .Assists ),
4052
+ "Wrong assists\n idx: %d\n want: %#v\n \n got: %#v" ,
4053
+ idx , tc .Assists , deaths [idx ].Assists ,
4054
+ )
4055
+ assert .True (
4056
+ reflect .DeepEqual (deaths [idx ].Killers , tc .Killers ),
4057
+ "Wrong killers\n idx: %d\n want: %#v\n \n got: %#v" ,
4058
+ idx , tc .Killers , deaths [idx ].Killers ,
4059
+ )
4060
+ assert .Equal (
4061
+ deaths [idx ].Level , tc .Level ,
4062
+ "Wrong Level\n idx: %d\n want: %d\n \n got: %d" ,
4063
+ idx , tc .Level , deaths [idx ].Level ,
4064
+ )
4065
+ assert .Equal (
4066
+ deaths [idx ].Reason , tc .Reason ,
4067
+ "Wrong Reason\n idx: %d\n want: %s\n \n got: %s" ,
4068
+ idx , tc .Reason , deaths [idx ].Reason ,
4069
+ )
4070
+ assert .Equal (
4071
+ tc .Time , deaths [idx ].Time ,
4072
+ "Wrong Time\n idx: %d\n want: %s\n \n got: %s" ,
4073
+ idx , tc .Time , deaths [idx ].Time ,
4074
+ )
4075
+ }
4076
+ }
4077
+
4000
4078
func BenchmarkNumber1 (b * testing.B ) {
4001
4079
file , err := static .TestFiles .Open ("testdata/characters/Darkside Rafa.html" )
4002
4080
if err != nil {
0 commit comments