Beispiel #1
0
func benchmarkStoreState(b *testing.B, c *foosbot.Context) {
	b.ResetTimer()
	b.ReportAllocs()
	for i := 0; i < b.N; i++ {
		c.Store()
	}
}
Beispiel #2
0
func statsCommand(ctx *foosbot.Context, statement *parsing.StatStatement) string {
	stats, err := ctx.ExecuteStats(*statement)
	if err != nil {
		return err.Error()
	}
	return ctx.ReportStats(stats)
}
Beispiel #3
0
func benchmarkLoadState(b *testing.B, c *foosbot.Context) {
	b.ResetTimer()
	b.ReportAllocs()
	for i := 0; i < b.N; i++ {
		c.Reset()
		c.Load()
	}
}
Beispiel #4
0
func addMatchCommand(ctx *foosbot.Context, statement *parsing.MatchStatement) string {
	err := ctx.ExecuteMatch(*statement)
	if err != nil {
		panic(err)
	}
	total := statement.TeamOneScore + statement.TeamTwoScore
	return fmt.Sprintf("%d matches registered to history.", total)
}
Beispiel #5
0
func addMatches(c *foosbot.Context, outcomes []*foosbot.Outcome) {
	for k := 0; k < len(outcomes); k++ {
		c.AddMatchWithOutcome(outcomes[k])
	}
}
Beispiel #6
0
func getLeaderboard(ctx *foosbot.Context) string {
	stats := ctx.PlayersStatsFromMatches(10, 10)
	response := ctx.ReportLeaderBoard(stats)
	return response
}
Beispiel #7
0
func backup(c *foosbot.Context) {
	for {
		time.Sleep(1 * time.Hour)
		c.Store()
	}
}