Skip to content

Commit 941dbcd

Browse files
committed
test: add another test-case
rel #439
1 parent ab30a38 commit 941dbcd

File tree

2 files changed

+903
-0
lines changed

2 files changed

+903
-0
lines changed

src/TibiaCharactersCharacter_test.go

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3738,6 +3738,96 @@ func TestNumber14(t *testing.T) {
37383738
}
37393739
}
37403740

3741+
func TestNumber15(t *testing.T) {
3742+
file, err := static.TestFiles.Open("testdata/characters/Sir Dumbas.html")
3743+
if err != nil {
3744+
t.Fatalf("file opening error: %s", err)
3745+
}
3746+
defer file.Close()
3747+
3748+
data, err := io.ReadAll(file)
3749+
if err != nil {
3750+
t.Fatalf("File reading error: %s", err)
3751+
}
3752+
3753+
characterJson, err := TibiaCharactersCharacterImpl(string(data), "")
3754+
if err != nil {
3755+
t.Fatal(err)
3756+
}
3757+
3758+
assert := assert.New(t)
3759+
character := characterJson.Character.CharacterInfo
3760+
3761+
assert.Equal("Sir Dumbas", character.Name)
3762+
assert.False(characterJson.Character.DeathsTruncated)
3763+
3764+
// validate death data
3765+
assert.Equal(3, len(characterJson.Character.Deaths))
3766+
deaths := characterJson.Character.Deaths
3767+
3768+
for idx, tc := range []struct {
3769+
Assists []Killers
3770+
Killers []Killers
3771+
Level int
3772+
Reason string
3773+
Time string
3774+
}{
3775+
{
3776+
Assists: []Killers{},
3777+
Killers: []Killers{
3778+
{Name: "Corruption Toxic", Player: true, Traded: false, Summon: "fire elemental"},
3779+
},
3780+
Level: 43,
3781+
Reason: "Killed at Level 43 by fire elemental of Corruption Toxic.",
3782+
Time: "2025-02-02T23:08:13Z",
3783+
},
3784+
{
3785+
Assists: []Killers{},
3786+
Killers: []Killers{
3787+
{Name: "cave rat", Player: false, Traded: false, Summon: ""},
3788+
},
3789+
Level: 44,
3790+
Reason: "Died at Level 44 by cave rat.",
3791+
Time: "2025-02-02T22:47:32Z",
3792+
},
3793+
{
3794+
Assists: []Killers{},
3795+
Killers: []Killers{
3796+
{Name: "cave rat", Player: false, Traded: false, Summon: ""},
3797+
},
3798+
Level: 45,
3799+
Reason: "Died at Level 45 by cave rat.",
3800+
Time: "2025-02-02T22:46:11Z",
3801+
},
3802+
} {
3803+
assert.True(
3804+
reflect.DeepEqual(deaths[idx].Assists, tc.Assists),
3805+
"Wrong assists\nidx: %d\nwant: %#v\n\ngot: %#v",
3806+
idx, tc.Assists, deaths[idx].Assists,
3807+
)
3808+
assert.True(
3809+
reflect.DeepEqual(deaths[idx].Killers, tc.Killers),
3810+
"Wrong killers\nidx: %d\nwant: %#v\n\ngot: %#v",
3811+
idx, tc.Killers, deaths[idx].Killers,
3812+
)
3813+
assert.Equal(
3814+
deaths[idx].Level, tc.Level,
3815+
"Wrong Level\nidx: %d\nwant: %d\n\ngot: %d",
3816+
idx, tc.Level, deaths[idx].Level,
3817+
)
3818+
assert.Equal(
3819+
deaths[idx].Reason, tc.Reason,
3820+
"Wrong Reason\nidx: %d\nwant: %s\n\ngot: %s",
3821+
idx, tc.Reason, deaths[idx].Reason,
3822+
)
3823+
assert.Equal(
3824+
tc.Time, deaths[idx].Time,
3825+
"Wrong Time\nidx: %d\nwant: %s\n\ngot: %s",
3826+
idx, tc.Time, deaths[idx].Time,
3827+
)
3828+
}
3829+
}
3830+
37413831
func BenchmarkNumber1(b *testing.B) {
37423832
file, err := static.TestFiles.Open("testdata/characters/Darkside Rafa.html")
37433833
if err != nil {

0 commit comments

Comments
 (0)