poker

package module
v0.0.0-...-fb8feb4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 25, 2021 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AssertContentType

func AssertContentType(t testing.TB, response *httptest.ResponseRecorder, want string)

func AssertLeague

func AssertLeague(t testing.TB, got, want League)

func AssertNoError

func AssertNoError(t testing.TB, err error)

func AssertPlayerWin

func AssertPlayerWin(t testing.TB, store *StubPlayerStore, winner string)

func AssertResponseBody

func AssertResponseBody(t testing.TB, got, want string)

func AssertScoreEquals

func AssertScoreEquals(t testing.TB, got, want int)

func AssertStatus

func AssertStatus(t testing.TB, got, want int)

func CreateTempFile

func CreateTempFile(t testing.TB, initialData string) (*os.File, func())

func GetPlayerScore

func GetPlayerScore(name string) string

func NewGetScoreRequest

func NewGetScoreRequest(name string) *http.Request

func NewLeagueRequest

func NewLeagueRequest() *http.Request

func NewPostWinRequest

func NewPostWinRequest(name string) *http.Request

func StdOutAlerter

func StdOutAlerter(duration time.Duration, amount int)

Types

type BlindAlerter

type BlindAlerter interface {
	ScheduleAlertAt(duration time.Duration, amount int)
}

type BlindAlerterFunc

type BlindAlerterFunc func(duration time.Duration, amount int)

func (BlindAlerterFunc) ScheduleAlertAt

func (b BlindAlerterFunc) ScheduleAlertAt(duration time.Duration, amount int)

type CLI

type CLI struct {
	// contains filtered or unexported fields
}

func NewCLI

func NewCLI(store PlayerStore, in io.Reader, alerter BlindAlerter) *CLI

func (*CLI) PlayPoker

func (cli *CLI) PlayPoker()

type FileSystemPlayerStore

type FileSystemPlayerStore struct {
	// contains filtered or unexported fields
}

func FileSystemPlayerStoreFromFile

func FileSystemPlayerStoreFromFile(path string) (*FileSystemPlayerStore, func(), error)

func NewFileSystemPlayerStore

func NewFileSystemPlayerStore(file *os.File) (*FileSystemPlayerStore, error)

func (*FileSystemPlayerStore) GetLeague

func (f *FileSystemPlayerStore) GetLeague() League

func (*FileSystemPlayerStore) GetPlayerScore

func (f *FileSystemPlayerStore) GetPlayerScore(name string) int

func (*FileSystemPlayerStore) RecordWin

func (f *FileSystemPlayerStore) RecordWin(name string)

type InMemoryPlayerStore

type InMemoryPlayerStore struct {
	// contains filtered or unexported fields
}

func NewInMemoryPlayerStore

func NewInMemoryPlayerStore() *InMemoryPlayerStore

func (*InMemoryPlayerStore) GetLeague

func (i *InMemoryPlayerStore) GetLeague() League

func (*InMemoryPlayerStore) GetPlayerScore

func (i *InMemoryPlayerStore) GetPlayerScore(name string) int

func (*InMemoryPlayerStore) RecordWin

func (i *InMemoryPlayerStore) RecordWin(name string)

type League

type League []Player

func GetLeagueFromResponse

func GetLeagueFromResponse(t testing.TB, body io.Reader) (league League)

func NewLeague

func NewLeague(rdr io.Reader) (League, error)

func (League) Find

func (l League) Find(name string) *Player

type Player

type Player struct {
	Name string
	Wins int
}

type PlayerServer

type PlayerServer struct {
	http.Handler
	// contains filtered or unexported fields
}

func NewPlayerServer

func NewPlayerServer(store PlayerStore) *PlayerServer

type PlayerStore

type PlayerStore interface {
	GetPlayerScore(name string) int
	RecordWin(name string)
	GetLeague() League
}

type StubPlayerStore

type StubPlayerStore struct {
	// contains filtered or unexported fields
}

func (*StubPlayerStore) GetLeague

func (s *StubPlayerStore) GetLeague() League

func (*StubPlayerStore) GetPlayerScore

func (s *StubPlayerStore) GetPlayerScore(name string) int

func (*StubPlayerStore) RecordWin

func (s *StubPlayerStore) RecordWin(name string)

Directories

Path Synopsis
cmd
cli

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL