telegram/main_test.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")
}
}