minor modernizations
This commit is contained in:
parent
249bb4f3c1
commit
9fd69fba38
@ -1,11 +1,9 @@
|
|||||||
package classes
|
package classes
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"math/rand"
|
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// Mock entity implementations for testing
|
// Mock entity implementations for testing
|
||||||
@ -733,7 +731,7 @@ func TestGetClassStatistics(t *testing.T) {
|
|||||||
adventureClasses := stats["adventure_classes"].(int)
|
adventureClasses := stats["adventure_classes"].(int)
|
||||||
tradeskillClasses := stats["tradeskill_classes"].(int)
|
tradeskillClasses := stats["tradeskill_classes"].(int)
|
||||||
|
|
||||||
if totalClasses != adventureClasses + tradeskillClasses {
|
if totalClasses != adventureClasses+tradeskillClasses {
|
||||||
t.Errorf("Total classes (%d) should equal adventure (%d) + tradeskill (%d)",
|
t.Errorf("Total classes (%d) should equal adventure (%d) + tradeskill (%d)",
|
||||||
totalClasses, adventureClasses, tradeskillClasses)
|
totalClasses, adventureClasses, tradeskillClasses)
|
||||||
}
|
}
|
||||||
@ -1545,7 +1543,7 @@ func TestClassesConcurrency(t *testing.T) {
|
|||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
|
|
||||||
// Concurrent reads
|
// Concurrent reads
|
||||||
for i := 0; i < 100; i++ {
|
for i := range 100 {
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func(classID int8) {
|
go func(classID int8) {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
@ -1571,7 +1569,7 @@ func TestClassManagerConcurrency(t *testing.T) {
|
|||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
|
|
||||||
// Concurrent usage registration
|
// Concurrent usage registration
|
||||||
for i := 0; i < 100; i++ {
|
for i := range 100 {
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func(classID int8) {
|
go func(classID int8) {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
@ -1580,7 +1578,7 @@ func TestClassManagerConcurrency(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Concurrent stats reading
|
// Concurrent stats reading
|
||||||
for i := 0; i < 50; i++ {
|
for range 50 {
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func() {
|
go func() {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
@ -1609,7 +1607,7 @@ func TestMockEntitiesConcurrency(t *testing.T) {
|
|||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
|
|
||||||
// Concurrent reads and writes
|
// Concurrent reads and writes
|
||||||
for i := 0; i < 100; i++ {
|
for i := range 100 {
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func(classID int8) {
|
go func(classID int8) {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
@ -1631,64 +1629,56 @@ func TestMockEntitiesConcurrency(t *testing.T) {
|
|||||||
// Benchmarks
|
// Benchmarks
|
||||||
func BenchmarkGetClassID(b *testing.B) {
|
func BenchmarkGetClassID(b *testing.B) {
|
||||||
classes := NewClasses()
|
classes := NewClasses()
|
||||||
b.ResetTimer()
|
|
||||||
|
|
||||||
for i := 0; i < b.N; i++ {
|
for b.Loop() {
|
||||||
classes.GetClassID("WARRIOR")
|
classes.GetClassID("WARRIOR")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkGetClassName(b *testing.B) {
|
func BenchmarkGetClassName(b *testing.B) {
|
||||||
classes := NewClasses()
|
classes := NewClasses()
|
||||||
b.ResetTimer()
|
|
||||||
|
|
||||||
for i := 0; i < b.N; i++ {
|
for b.Loop() {
|
||||||
classes.GetClassName(ClassWarrior)
|
classes.GetClassName(ClassWarrior)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkGetBaseClass(b *testing.B) {
|
func BenchmarkGetBaseClass(b *testing.B) {
|
||||||
classes := NewClasses()
|
classes := NewClasses()
|
||||||
b.ResetTimer()
|
|
||||||
|
|
||||||
for i := 0; i < b.N; i++ {
|
for b.Loop() {
|
||||||
classes.GetBaseClass(ClassGuardian)
|
classes.GetBaseClass(ClassGuardian)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkGetAllClasses(b *testing.B) {
|
func BenchmarkGetAllClasses(b *testing.B) {
|
||||||
classes := NewClasses()
|
classes := NewClasses()
|
||||||
b.ResetTimer()
|
|
||||||
|
|
||||||
for i := 0; i < b.N; i++ {
|
for b.Loop() {
|
||||||
classes.GetAllClasses()
|
classes.GetAllClasses()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkParseClassName(b *testing.B) {
|
func BenchmarkParseClassName(b *testing.B) {
|
||||||
utils := NewClassUtils()
|
utils := NewClassUtils()
|
||||||
b.ResetTimer()
|
|
||||||
|
|
||||||
for i := 0; i < b.N; i++ {
|
for b.Loop() {
|
||||||
utils.ParseClassName("WARRIOR")
|
utils.ParseClassName("WARRIOR")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkGetRandomClassByType(b *testing.B) {
|
func BenchmarkGetRandomClassByType(b *testing.B) {
|
||||||
utils := NewClassUtils()
|
utils := NewClassUtils()
|
||||||
rand.Seed(time.Now().UnixNano())
|
|
||||||
b.ResetTimer()
|
|
||||||
|
|
||||||
for i := 0; i < b.N; i++ {
|
for b.Loop() {
|
||||||
utils.GetRandomClassByType(ClassTypeAdventure)
|
utils.GetRandomClassByType(ClassTypeAdventure)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkRegisterClassUsage(b *testing.B) {
|
func BenchmarkRegisterClassUsage(b *testing.B) {
|
||||||
manager := NewClassManager()
|
manager := NewClassManager()
|
||||||
b.ResetTimer()
|
|
||||||
|
|
||||||
for i := 0; i < b.N; i++ {
|
for b.Loop() {
|
||||||
manager.RegisterClassUsage(ClassWarrior)
|
manager.RegisterClassUsage(ClassWarrior)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1696,18 +1686,16 @@ func BenchmarkRegisterClassUsage(b *testing.B) {
|
|||||||
func BenchmarkValidateEntityClass(b *testing.B) {
|
func BenchmarkValidateEntityClass(b *testing.B) {
|
||||||
integration := NewClassIntegration()
|
integration := NewClassIntegration()
|
||||||
entity := NewMockClassAware(ClassWarrior)
|
entity := NewMockClassAware(ClassWarrior)
|
||||||
b.ResetTimer()
|
|
||||||
|
|
||||||
for i := 0; i < b.N; i++ {
|
for b.Loop() {
|
||||||
integration.ValidateEntityClass(entity)
|
integration.ValidateEntityClass(entity)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkMockClassAwareGetSet(b *testing.B) {
|
func BenchmarkMockClassAwareGetSet(b *testing.B) {
|
||||||
entity := NewMockClassAware(ClassWarrior)
|
entity := NewMockClassAware(ClassWarrior)
|
||||||
b.ResetTimer()
|
|
||||||
|
|
||||||
for i := 0; i < b.N; i++ {
|
for b.Loop() {
|
||||||
entity.SetClass(ClassCleric)
|
entity.SetClass(ClassCleric)
|
||||||
entity.GetClass()
|
entity.GetClass()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user