42 lines
981 B
Go
42 lines
981 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"math/rand"
|
|
"penahub.gitlab.yandexcloud.net/backend/quiz/telegram/client"
|
|
"penahub.gitlab.yandexcloud.net/backend/quiz/telegram/respondent"
|
|
stateManager "penahub.gitlab.yandexcloud.net/backend/quiz/telegram/state_manager"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func BenchmarkMain(b *testing.B) {
|
|
for n := 0; n < b.N; n++ {
|
|
rand.Seed(time.Now().UnixNano())
|
|
mockClient := client.NewClient()
|
|
mockStateManager := stateManager.NewStateManager(stateManager.Deps{
|
|
Questions: dataSetMap,
|
|
State: "q00",
|
|
Client: mockClient,
|
|
})
|
|
|
|
mockRespondent := respondent.NewRespondent(mockStateManager)
|
|
mockStateManager.SendQuestion()
|
|
|
|
for {
|
|
if _, ok := dataSetMap[mockStateManager.State]; !ok {
|
|
fmt.Println("state not found")
|
|
break
|
|
}
|
|
mockRespondent.Respond("q00")
|
|
fmt.Println("respond")
|
|
}
|
|
|
|
for number, msg := range mockClient.Messages {
|
|
fmt.Println(fmt.Sprintf("message %d: %s", number, msg))
|
|
}
|
|
|
|
fmt.Println("Complete")
|
|
}
|
|
}
|