@@ -2901,6 +2901,166 @@ func TestNumber7(t *testing.T) {
29012901 assert .Equal ("___$$$$$$$$_______$$$$$$$$\n _$$$$$$$$$$$$__$$$$$$$$$$$$$$\n $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n _$$$$$$$$$$-Snulliz-$$$$$$$$$$$\n __$$$$$$$$$$$$$$$$$$$$$$$$$$\n ____$$$$$$$$$$$$$$$$$$$$$$\n ______$$$$$$$$$$$$$$$$$$\n ________$$$$$$$$$$$$$$\n ___________$$$$$$$$$\n ____________$$$$$$\n _____________$$" , character .Comment )
29022902}
29032903
2904+ func TestNumber8 (t * testing.T ) {
2905+ file , err := static .TestFiles .Open ("testdata/characters/Mieluffy.html" )
2906+ if err != nil {
2907+ t .Fatalf ("file opening error: %s" , err )
2908+ }
2909+ defer file .Close ()
2910+
2911+ data , err := io .ReadAll (file )
2912+ if err != nil {
2913+ t .Fatalf ("File reading error: %s" , err )
2914+ }
2915+
2916+ characterJson , err := TibiaCharactersCharacterImpl (string (data ))
2917+ if err != nil {
2918+ t .Fatal (err )
2919+ }
2920+
2921+ assert := assert .New (t )
2922+ character := characterJson .Character .CharacterInfo
2923+
2924+ assert .Len (characterJson .Character .Achievements , 0 )
2925+ assert .Equal ("Mieluffy" , character .Name )
2926+ assert .False (characterJson .Character .DeathsTruncated )
2927+
2928+ // validate death data
2929+ assert .Equal (4 , len (characterJson .Character .Deaths ))
2930+ deaths := characterJson .Character .Deaths
2931+
2932+ for idx , tc := range []struct {
2933+ Assists []Killers
2934+ Killers []Killers
2935+ Level int
2936+ Reason string
2937+ Time string
2938+ }{
2939+ {
2940+ Assists : []Killers {
2941+ {Name : "Merlinxd" , Player : true , Traded : false , Summon : "" },
2942+ {Name : "Paletero Kriminal" , Player : true , Traded : false , Summon : "" },
2943+ },
2944+ Killers : []Killers {
2945+ {Name : "Pecas Creator" , Player : true , Traded : false , Summon : "" },
2946+ {Name : "El Unico" , Player : true , Traded : false , Summon : "" },
2947+ {Name : "Supperiore" , Player : true , Traded : false , Summon : "" },
2948+ {Name : "Flaco El Pobre" , Player : true , Traded : false , Summon : "" },
2949+ {Name : "Rii Rox" , Player : true , Traded : false , Summon : "" },
2950+ {Name : "Tiz to" , Player : true , Traded : false , Summon : "" },
2951+ {Name : "True Merlinus Druid" , Player : true , Traded : false , Summon : "" },
2952+ {Name : "Antii Druida" , Player : true , Traded : false , Summon : "" },
2953+ {Name : "El Inestable" , Player : true , Traded : false , Summon : "" },
2954+ {Name : "Ga to Relaxsz" , Player : true , Traded : false , Summon : "" },
2955+ {Name : "Frodin la Maquina" , Player : true , Traded : false , Summon : "" },
2956+ {Name : "Mich Jogadorcaro" , Player : true , Traded : false , Summon : "" },
2957+ },
2958+ Level : 508 ,
2959+ Reason : "Crushed at Level 508 by Pecas Creator, El Unico, Supperiore, Flaco El Pobre, Rii Rox, Tiz to, True Merlinus Druid, Antii Druida, El Inestable, Ga to Relaxsz, Frodin la Maquina and Mich Jogadorcaro. Assisted by Merlinxd and Paletero Kriminal." ,
2960+ Time : "2024-02-01T06:20:46Z" ,
2961+ },
2962+ {
2963+ Assists : []Killers {},
2964+ Killers : []Killers {
2965+ {Name : "El Unico" , Player : true , Traded : false , Summon : "" },
2966+ {Name : "Naireth Sorcerer" , Player : true , Traded : false , Summon : "" },
2967+ {Name : "Pedritox Soulfire" , Player : true , Traded : false , Summon : "" },
2968+ {Name : "Pepiisho" , Player : true , Traded : false , Summon : "" },
2969+ {Name : "Egon Leme" , Player : true , Traded : false , Summon : "" },
2970+ {Name : "Queen Marii" , Player : true , Traded : false , Summon : "" },
2971+ {Name : "Jicuri Guardian" , Player : true , Traded : false , Summon : "" },
2972+ {Name : "Athob Senian" , Player : true , Traded : false , Summon : "" },
2973+ {Name : "Noo Friends" , Player : true , Traded : false , Summon : "" },
2974+ {Name : "Dhanielz Unstoppable" , Player : true , Traded : false , Summon : "" },
2975+ {Name : "Ilysz Sin Tales" , Player : true , Traded : false , Summon : "" },
2976+ {Name : "Spy Crusitho Sauvage" , Player : true , Traded : false , Summon : "" },
2977+ {Name : "Tiz to" , Player : true , Traded : false , Summon : "" },
2978+ {Name : "King Asmiito" , Player : true , Traded : false , Summon : "" },
2979+ {Name : "Bolchecoqe" , Player : true , Traded : false , Summon : "" },
2980+ {Name : "Jobi" , Player : true , Traded : false , Summon : "" },
2981+ {Name : "El Inestable" , Player : true , Traded : false , Summon : "" },
2982+ {Name : "Bloomzs" , Player : true , Traded : false , Summon : "" },
2983+ {Name : "Natalie Bearskin" , Player : true , Traded : false , Summon : "" },
2984+ },
2985+ Level : 508 ,
2986+ Reason : "Eliminated at Level 508 by El Unico, Naireth Sorcerer, Pedritox Soulfire, Pepiisho, Egon Leme, Queen Marii, Jicuri Guardian, Athob Senian, Noo Friends, Dhanielz Unstoppable, Ilysz Sin Tales, Spy Crusitho Sauvage, Tiz to, King Asmiito, Bolchecoqe, Jobi, El Inestable, Bloomzs and Natalie Bearskin." ,
2987+ Time : "2024-02-01T04:53:23Z" ,
2988+ },
2989+ {
2990+ Assists : []Killers {
2991+ {Name : "Swiifti" , Player : true , Traded : false , Summon : "" },
2992+ {Name : "Duende blanco" , Player : true , Traded : false , Summon : "" },
2993+ },
2994+ Killers : []Killers {
2995+ {Name : "Shantty" , Player : true , Traded : false , Summon : "" },
2996+ {Name : "Sin Primalbazzar" , Player : true , Traded : false , Summon : "" },
2997+ {Name : "Supperiore" , Player : true , Traded : false , Summon : "" },
2998+ {Name : "Righo" , Player : true , Traded : false , Summon : "" },
2999+ {Name : "Beltran Tzawayak" , Player : true , Traded : false , Summon : "" },
3000+ {Name : "Ilysz Sin Tales" , Player : true , Traded : false , Summon : "" },
3001+ {Name : "Flaco El Pobre" , Player : true , Traded : false , Summon : "" },
3002+ {Name : "Pecaas" , Player : true , Traded : false , Summon : "" },
3003+ {Name : "Knightsitaz" , Player : true , Traded : false , Summon : "" },
3004+ {Name : "Dhanielz Acorazado" , Player : true , Traded : false , Summon : "" },
3005+ {Name : "Jobi" , Player : true , Traded : false , Summon : "" },
3006+ {Name : "Aeronabic" , Player : true , Traded : false , Summon : "" },
3007+ {Name : "Side Effectss" , Player : true , Traded : false , Summon : "" },
3008+ {Name : "Ekizdd" , Player : true , Traded : false , Summon : "" },
3009+ {Name : "Baby Mikoh" , Player : true , Traded : false , Summon : "" },
3010+ {Name : "Sneki" , Player : true , Traded : false , Summon : "" },
3011+ {Name : "Love and Death" , Player : true , Traded : true , Summon : "" },
3012+ {Name : "Next Generation" , Player : true , Traded : false , Summon : "" },
3013+ },
3014+ Level : 508 ,
3015+ Reason : "Eliminated at Level 508 by Shantty, Sin Primalbazzar, Supperiore, Righo, Beltran Tzawayak, Ilysz Sin Tales, Flaco El Pobre, Pecaas, Knightsitaz, Dhanielz Acorazado, Jobi, Aeronabic, Side Effectss, Ekizdd, Baby Mikoh, Sneki, Love and Death (traded) and Next Generation. Assisted by Swiifti and Duende blanco." ,
3016+ Time : "2024-01-12T19:38:09Z" ,
3017+ },
3018+ {
3019+ Assists : []Killers {},
3020+ Killers : []Killers {
3021+ {Name : "Sir Alpha" , Player : true , Traded : false , Summon : "" },
3022+ {Name : "Chic Unixzion" , Player : true , Traded : false , Summon : "" },
3023+ {Name : "Cadiwax" , Player : true , Traded : false , Summon : "" },
3024+ {Name : "Pecaas" , Player : true , Traded : false , Summon : "" },
3025+ {Name : "Eveo Zeff" , Player : true , Traded : false , Summon : "" },
3026+ {Name : "Monkey Flash" , Player : true , Traded : false , Summon : "" },
3027+ {Name : "Flaco Maldito" , Player : true , Traded : false , Summon : "" },
3028+ {Name : "Mieluffy" , Player : true , Traded : false , Summon : "" },
3029+ {Name : "Geass Evangelion" , Player : true , Traded : false , Summon : "" },
3030+ },
3031+ Level : 508 ,
3032+ Reason : "Slain at Level 508 by Sir Alpha, Chic Unixzion, Cadiwax, Pecaas, Eveo Zeff, Monkey Flash, Flaco Maldito, Mieluffy and Geass Evangelion." ,
3033+ Time : "2024-01-10T21:31:52Z" ,
3034+ },
3035+ } {
3036+ assert .True (
3037+ reflect .DeepEqual (deaths [idx ].Assists , tc .Assists ),
3038+ "Wrong assists\n idx: %d\n want: %#v\n \n got: %#v" ,
3039+ idx , tc .Assists , deaths [idx ].Assists ,
3040+ )
3041+ assert .True (
3042+ reflect .DeepEqual (deaths [idx ].Killers , tc .Killers ),
3043+ "Wrong killers\n idx: %d\n want: %#v\n \n got: %#v" ,
3044+ idx , tc .Killers , deaths [idx ].Killers ,
3045+ )
3046+ assert .Equal (
3047+ deaths [idx ].Level , tc .Level ,
3048+ "Wrong Level\n idx: %d\n want: %d\n \n got: %d" ,
3049+ idx , tc .Level , deaths [idx ].Level ,
3050+ )
3051+ assert .Equal (
3052+ deaths [idx ].Reason , tc .Reason ,
3053+ "Wrong Reason\n idx: %d\n want: %s\n \n got: %s" ,
3054+ idx , tc .Reason , deaths [idx ].Reason ,
3055+ )
3056+ assert .Equal (
3057+ deaths [idx ].Time , tc .Time ,
3058+ "Wrong Time\n idx: %d\n want: %s\n \n got: %s" ,
3059+ idx , tc .Time , deaths [idx ].Time ,
3060+ )
3061+ }
3062+ }
3063+
29043064func TestNumber9 (t * testing.T ) {
29053065 file , err := static .TestFiles .Open ("testdata/characters/Akura Aleus.html" )
29063066 if err != nil {
0 commit comments