SYMBOL INDEX (2425 symbols across 517 files) FILE: arrays/v1/sum.go function Sum (line 4) | func Sum(numbers [5]int) int { FILE: arrays/v1/sum_test.go function TestSum (line 5) | func TestSum(t *testing.T) { FILE: arrays/v2/sum.go function Sum (line 4) | func Sum(numbers [5]int) int { FILE: arrays/v2/sum_test.go function TestSum (line 5) | func TestSum(t *testing.T) { FILE: arrays/v3/sum.go function Sum (line 4) | func Sum(numbers []int) int { FILE: arrays/v3/sum_test.go function TestSum (line 5) | func TestSum(t *testing.T) { FILE: arrays/v4/sum.go function Sum (line 4) | func Sum(numbers []int) int { function SumAll (line 13) | func SumAll(numbersToSum ...[]int) []int { FILE: arrays/v4/sum_test.go function TestSum (line 8) | func TestSum(t *testing.T) { function TestSumAll (line 23) | func TestSumAll(t *testing.T) { FILE: arrays/v5/sum.go function Sum (line 4) | func Sum(numbers []int) int { function SumAll (line 13) | func SumAll(numbersToSum ...[]int) []int { FILE: arrays/v5/sum_test.go function TestSum (line 8) | func TestSum(t *testing.T) { function TestSumAll (line 24) | func TestSumAll(t *testing.T) { FILE: arrays/v6/sum.go function Sum (line 4) | func Sum(numbers []int) int { function SumAllTails (line 13) | func SumAllTails(numbersToSum ...[]int) []int { FILE: arrays/v6/sum_test.go function TestSum (line 8) | func TestSum(t *testing.T) { function TestSumAllTails (line 24) | func TestSumAllTails(t *testing.T) { FILE: arrays/v7/sum.go function Sum (line 4) | func Sum(numbers []int) int { function SumAllTails (line 13) | func SumAllTails(numbersToSum ...[]int) []int { FILE: arrays/v7/sum_test.go function TestSum (line 8) | func TestSum(t *testing.T) { function TestSumAllTails (line 24) | func TestSumAllTails(t *testing.T) { FILE: arrays/v8/assert.go function AssertEqual (line 5) | func AssertEqual[T comparable](t *testing.T, got, want T) { function AssertNotEqual (line 12) | func AssertNotEqual[T comparable](t *testing.T, got, want T) { function AssertTrue (line 19) | func AssertTrue(t *testing.T, got bool) { function AssertFalse (line 26) | func AssertFalse(t *testing.T, got bool) { FILE: arrays/v8/bad_bank.go type Transaction (line 3) | type Transaction struct function NewTransaction (line 9) | func NewTransaction(from, to Account, sum float64) Transaction { type Account (line 13) | type Account struct function NewBalanceFor (line 18) | func NewBalanceFor(account Account, transactions []Transaction) Account { function applyTransaction (line 26) | func applyTransaction(a Account, transaction Transaction) Account { FILE: arrays/v8/bad_bank_test.go function TestBadBank (line 5) | func TestBadBank(t *testing.T) { FILE: arrays/v8/collection_fun.go function Find (line 3) | func Find[A any](items []A, predicate func(A) bool) (value A, found bool) { function Reduce (line 12) | func Reduce[A, B any](collection []A, f func(B, A) B, initialValue B) B { FILE: arrays/v8/sum.go function Sum (line 4) | func Sum(numbers []int) int { function SumAllTails (line 10) | func SumAllTails(numbers ...[]int) []int { FILE: arrays/v8/sum_test.go function TestSum (line 9) | func TestSum(t *testing.T) { function TestSumAllTails (line 25) | func TestSumAllTails(t *testing.T) { function TestReduce (line 47) | func TestReduce(t *testing.T) { function TestFind (line 65) | func TestFind(t *testing.T) { FILE: blogrenderer/post.go type Post (line 6) | type Post struct method SanitisedTitle (line 12) | func (p Post) SanitisedTitle() string { FILE: blogrenderer/renderer.go type PostRenderer (line 17) | type PostRenderer struct method Render (line 36) | func (r *PostRenderer) Render(w io.Writer, p Post) error { method RenderIndex (line 41) | func (r *PostRenderer) RenderIndex(w io.Writer, posts []Post) error { function NewPostRenderer (line 23) | func NewPostRenderer() (*PostRenderer, error) { type postViewModel (line 45) | type postViewModel struct function newPostVM (line 50) | func newPostVM(p Post, r *PostRenderer) postViewModel { FILE: blogrenderer/renderer_test.go function TestRender (line 11) | func TestRender(t *testing.T) { function BenchmarkRender (line 50) | func BenchmarkRender(b *testing.B) { FILE: command-line/v1/cmd/cli/main.go function main (line 5) | func main() { FILE: command-line/v1/cmd/webserver/main.go constant dbFileName (line 10) | dbFileName = "game.db.json" function main (line 12) | func main() { FILE: command-line/v1/file_system_store.go type FileSystemPlayerStore (line 12) | type FileSystemPlayerStore struct method GetLeague (line 56) | func (f *FileSystemPlayerStore) GetLeague() League { method GetPlayerScore (line 64) | func (f *FileSystemPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 76) | func (f *FileSystemPlayerStore) RecordWin(name string) { function NewFileSystemPlayerStore (line 18) | func NewFileSystemPlayerStore(file *os.File) (*FileSystemPlayerStore, er... function initialisePlayerDBFile (line 38) | func initialisePlayerDBFile(file *os.File) error { FILE: command-line/v1/file_system_store_test.go function createTempFile (line 8) | func createTempFile(t testing.TB, initialData string) (*os.File, func()) { function TestFileSystemStore (line 26) | func TestFileSystemStore(t *testing.T) { function assertScoreEquals (line 111) | func assertScoreEquals(t testing.TB, got, want int) { function assertNoError (line 118) | func assertNoError(t testing.TB, err error) { FILE: command-line/v1/league.go type League (line 10) | type League method Find (line 13) | func (l League) Find(name string) *Player { function NewLeague (line 23) | func NewLeague(rdr io.Reader) (League, error) { FILE: command-line/v1/server.go type PlayerStore (line 11) | type PlayerStore interface type Player (line 18) | type Player struct type PlayerServer (line 24) | type PlayerServer struct method leagueHandler (line 46) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method playersHandler (line 51) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 62) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 72) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { constant jsonContentType (line 29) | jsonContentType = "application/json" function NewPlayerServer (line 32) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: command-line/v1/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: command-line/v1/server_test.go type StubPlayerStore (line 12) | type StubPlayerStore struct method GetPlayerScore (line 18) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 23) | func (s *StubPlayerStore) RecordWin(name string) { method GetLeague (line 27) | func (s *StubPlayerStore) GetLeague() League { function TestGETPlayers (line 31) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 72) | func TestStoreWins(t *testing.T) { function TestLeague (line 100) | func TestLeague(t *testing.T) { function assertContentType (line 126) | func assertContentType(t testing.TB, response *httptest.ResponseRecorder... function getLeagueFromResponse (line 133) | func getLeagueFromResponse(t testing.TB, body io.Reader) []Player { function assertLeague (line 144) | func assertLeague(t testing.TB, got, want []Player) { function assertStatus (line 151) | func assertStatus(t testing.TB, got, want int) { function newLeagueRequest (line 158) | func newLeagueRequest() *http.Request { function newGetScoreRequest (line 163) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 168) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 173) | func assertResponseBody(t testing.TB, got, want string) { FILE: command-line/v1/tape.go type tape (line 8) | type tape struct method Write (line 12) | func (t *tape) Write(p []byte) (n int, err error) { FILE: command-line/v1/tape_test.go function TestTape_Write (line 8) | func TestTape_Write(t *testing.T) { FILE: command-line/v2/CLI.go type CLI (line 4) | type CLI struct method PlayPoker (line 9) | func (cli *CLI) PlayPoker() { FILE: command-line/v2/CLI_test.go function TestCLI (line 7) | func TestCLI(t *testing.T) { FILE: command-line/v2/cmd/cli/main.go function main (line 5) | func main() { FILE: command-line/v2/cmd/webserver/main.go constant dbFileName (line 10) | dbFileName = "game.db.json" function main (line 12) | func main() { FILE: command-line/v2/file_system_store.go type FileSystemPlayerStore (line 12) | type FileSystemPlayerStore struct method GetLeague (line 56) | func (f *FileSystemPlayerStore) GetLeague() League { method GetPlayerScore (line 64) | func (f *FileSystemPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 76) | func (f *FileSystemPlayerStore) RecordWin(name string) { function NewFileSystemPlayerStore (line 18) | func NewFileSystemPlayerStore(file *os.File) (*FileSystemPlayerStore, er... function initialisePlayerDBFile (line 38) | func initialisePlayerDBFile(file *os.File) error { FILE: command-line/v2/file_system_store_test.go function createTempFile (line 8) | func createTempFile(t testing.TB, initialData string) (*os.File, func()) { function TestFileSystemStore (line 26) | func TestFileSystemStore(t *testing.T) { function assertScoreEquals (line 111) | func assertScoreEquals(t testing.TB, got, want int) { function assertNoError (line 118) | func assertNoError(t testing.TB, err error) { FILE: command-line/v2/league.go type League (line 10) | type League method Find (line 13) | func (l League) Find(name string) *Player { function NewLeague (line 23) | func NewLeague(rdr io.Reader) (League, error) { FILE: command-line/v2/server.go type PlayerStore (line 11) | type PlayerStore interface type Player (line 18) | type Player struct type PlayerServer (line 24) | type PlayerServer struct method leagueHandler (line 46) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method playersHandler (line 51) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 62) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 72) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { constant jsonContentType (line 29) | jsonContentType = "application/json" function NewPlayerServer (line 32) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: command-line/v2/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: command-line/v2/server_test.go type StubPlayerStore (line 12) | type StubPlayerStore struct method GetPlayerScore (line 18) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 23) | func (s *StubPlayerStore) RecordWin(name string) { method GetLeague (line 27) | func (s *StubPlayerStore) GetLeague() League { function TestGETPlayers (line 31) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 72) | func TestStoreWins(t *testing.T) { function TestLeague (line 100) | func TestLeague(t *testing.T) { function assertContentType (line 126) | func assertContentType(t testing.TB, response *httptest.ResponseRecorder... function getLeagueFromResponse (line 133) | func getLeagueFromResponse(t testing.TB, body io.Reader) []Player { function assertLeague (line 144) | func assertLeague(t testing.TB, got, want []Player) { function assertStatus (line 151) | func assertStatus(t testing.TB, got, want int) { function newLeagueRequest (line 158) | func newLeagueRequest() *http.Request { function newGetScoreRequest (line 163) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 168) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 173) | func assertResponseBody(t testing.TB, got, want string) { FILE: command-line/v2/tape.go type tape (line 8) | type tape struct method Write (line 12) | func (t *tape) Write(p []byte) (n int, err error) { FILE: command-line/v2/tape_test.go function TestTape_Write (line 8) | func TestTape_Write(t *testing.T) { FILE: command-line/v3/CLI.go type CLI (line 10) | type CLI struct method PlayPoker (line 24) | func (cli *CLI) PlayPoker() { method readLine (line 33) | func (cli *CLI) readLine() string { function NewCLI (line 16) | func NewCLI(store PlayerStore, in io.Reader) *CLI { function extractWinner (line 29) | func extractWinner(userInput string) string { FILE: command-line/v3/CLI_test.go function TestCLI (line 10) | func TestCLI(t *testing.T) { type failOnEndReader (line 46) | type failOnEndReader struct method Read (line 51) | func (m failOnEndReader) Read(p []byte) (n int, err error) { FILE: command-line/v3/cmd/cli/main.go constant dbFileName (line 11) | dbFileName = "game.db.json" function main (line 13) | func main() { FILE: command-line/v3/cmd/webserver/main.go constant dbFileName (line 10) | dbFileName = "game.db.json" function main (line 12) | func main() { FILE: command-line/v3/file_system_store.go type FileSystemPlayerStore (line 12) | type FileSystemPlayerStore struct method GetLeague (line 78) | func (f *FileSystemPlayerStore) GetLeague() League { method GetPlayerScore (line 86) | func (f *FileSystemPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 98) | func (f *FileSystemPlayerStore) RecordWin(name string) { function NewFileSystemPlayerStore (line 18) | func NewFileSystemPlayerStore(file *os.File) (*FileSystemPlayerStore, er... function FileSystemPlayerStoreFromFile (line 39) | func FileSystemPlayerStoreFromFile(path string) (*FileSystemPlayerStore,... function initialisePlayerDBFile (line 60) | func initialisePlayerDBFile(file *os.File) error { FILE: command-line/v3/file_system_store_test.go function createTempFile (line 8) | func createTempFile(t testing.TB, initialData string) (*os.File, func()) { function TestFileSystemStore (line 26) | func TestFileSystemStore(t *testing.T) { function assertScoreEquals (line 111) | func assertScoreEquals(t testing.TB, got, want int) { function assertNoError (line 118) | func assertNoError(t testing.TB, err error) { FILE: command-line/v3/league.go type League (line 10) | type League method Find (line 13) | func (l League) Find(name string) *Player { function NewLeague (line 23) | func NewLeague(rdr io.Reader) (League, error) { FILE: command-line/v3/server.go type PlayerStore (line 11) | type PlayerStore interface type Player (line 18) | type Player struct type PlayerServer (line 24) | type PlayerServer struct method leagueHandler (line 46) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method playersHandler (line 51) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 62) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 72) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { constant jsonContentType (line 29) | jsonContentType = "application/json" function NewPlayerServer (line 32) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: command-line/v3/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: command-line/v3/server_test.go function TestGETPlayers (line 12) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 53) | func TestStoreWins(t *testing.T) { function TestLeague (line 74) | func TestLeague(t *testing.T) { function assertContentType (line 100) | func assertContentType(t testing.TB, response *httptest.ResponseRecorder... function getLeagueFromResponse (line 107) | func getLeagueFromResponse(t testing.TB, body io.Reader) []Player { function assertLeague (line 118) | func assertLeague(t testing.TB, got, want []Player) { function assertStatus (line 125) | func assertStatus(t testing.TB, got, want int) { function newLeagueRequest (line 132) | func newLeagueRequest() *http.Request { function newGetScoreRequest (line 137) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 142) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 147) | func assertResponseBody(t testing.TB, got, want string) { FILE: command-line/v3/tape.go type tape (line 8) | type tape struct method Write (line 12) | func (t *tape) Write(p []byte) (n int, err error) { FILE: command-line/v3/tape_test.go function TestTape_Write (line 8) | func TestTape_Write(t *testing.T) { FILE: command-line/v3/testing.go type StubPlayerStore (line 6) | type StubPlayerStore struct method GetPlayerScore (line 13) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 19) | func (s *StubPlayerStore) RecordWin(name string) { method GetLeague (line 24) | func (s *StubPlayerStore) GetLeague() League { function AssertPlayerWin (line 29) | func AssertPlayerWin(t testing.TB, store *StubPlayerStore, winner string) { FILE: concurrency/v1/check_website.go function CheckWebsite (line 6) | func CheckWebsite(url string) bool { FILE: concurrency/v1/check_websites.go type WebsiteChecker (line 4) | type WebsiteChecker function CheckWebsites (line 8) | func CheckWebsites(wc WebsiteChecker, urls []string) map[string]bool { FILE: concurrency/v1/check_websites_benchmark_test.go function slowStubWebsiteChecker (line 8) | func slowStubWebsiteChecker(_ string) bool { function BenchmarkCheckWebsites (line 13) | func BenchmarkCheckWebsites(b *testing.B) { FILE: concurrency/v1/check_websites_test.go function mockWebsiteChecker (line 8) | func mockWebsiteChecker(url string) bool { function TestCheckWebsites (line 15) | func TestCheckWebsites(t *testing.T) { FILE: concurrency/v2/check_website.go function CheckWebsite (line 6) | func CheckWebsite(url string) bool { FILE: concurrency/v2/check_websites.go type WebsiteChecker (line 8) | type WebsiteChecker function CheckWebsites (line 12) | func CheckWebsites(wc WebsiteChecker, urls []string) map[string]bool { FILE: concurrency/v2/check_websites_benchmark_test.go function slowStubWebsiteChecker (line 8) | func slowStubWebsiteChecker(_ string) bool { function BenchmarkCheckWebsites (line 13) | func BenchmarkCheckWebsites(b *testing.B) { FILE: concurrency/v2/check_websites_test.go function mockWebsiteChecker (line 8) | func mockWebsiteChecker(url string) bool { function TestCheckWebsites (line 15) | func TestCheckWebsites(t *testing.T) { FILE: concurrency/v3/check_website.go function CheckWebsite (line 6) | func CheckWebsite(url string) bool { FILE: concurrency/v3/check_websites.go type WebsiteChecker (line 4) | type WebsiteChecker type result (line 5) | type result struct function CheckWebsites (line 12) | func CheckWebsites(wc WebsiteChecker, urls []string) map[string]bool { FILE: concurrency/v3/check_websites_benchmark_test.go function slowStubWebsiteChecker (line 8) | func slowStubWebsiteChecker(_ string) bool { function BenchmarkCheckWebsites (line 13) | func BenchmarkCheckWebsites(b *testing.B) { FILE: concurrency/v3/check_websites_test.go function mockWebsiteChecker (line 8) | func mockWebsiteChecker(url string) bool { function TestCheckWebsites (line 15) | func TestCheckWebsites(t *testing.T) { FILE: context/v1/context.go type Store (line 9) | type Store interface function Server (line 14) | func Server(store Store) http.HandlerFunc { FILE: context/v1/context_test.go type StubStore (line 9) | type StubStore struct method Fetch (line 13) | func (s *StubStore) Fetch() string { function TestServer (line 17) | func TestServer(t *testing.T) { FILE: context/v2/context.go type Store (line 9) | type Store interface function Server (line 15) | func Server(store Store) http.HandlerFunc { FILE: context/v2/context_test.go function TestServer (line 11) | func TestServer(t *testing.T) { FILE: context/v2/testdoubles.go type SpyStore (line 9) | type SpyStore struct method Fetch (line 16) | func (s *SpyStore) Fetch() string { method Cancel (line 22) | func (s *SpyStore) Cancel() { method assertWasCancelled (line 26) | func (s *SpyStore) assertWasCancelled() { method assertWasNotCancelled (line 33) | func (s *SpyStore) assertWasNotCancelled() { FILE: context/v3/context.go type Store (line 10) | type Store interface function Server (line 15) | func Server(store Store) http.HandlerFunc { FILE: context/v3/context_test.go function TestServer (line 11) | func TestServer(t *testing.T) { FILE: context/v3/testdoubles.go type SpyStore (line 12) | type SpyStore struct method Fetch (line 17) | func (s *SpyStore) Fetch(ctx context.Context) (string, error) { type SpyResponseWriter (line 44) | type SpyResponseWriter struct method Header (line 49) | func (s *SpyResponseWriter) Header() http.Header { method Write (line 55) | func (s *SpyResponseWriter) Write([]byte) (int, error) { method WriteHeader (line 61) | func (s *SpyResponseWriter) WriteHeader(statusCode int) { FILE: di/v1/di.go function Greet (line 10) | func Greet(writer io.Writer, name string) { function main (line 14) | func main() { FILE: di/v1/di_test.go function TestGreet (line 8) | func TestGreet(t *testing.T) { FILE: di/v2/di.go function Greet (line 11) | func Greet(writer io.Writer, name string) { function MyGreeterHandler (line 16) | func MyGreeterHandler(w http.ResponseWriter, r *http.Request) { function main (line 20) | func main() { FILE: di/v2/di_test.go function TestGreet (line 8) | func TestGreet(t *testing.T) { FILE: for/v1/repeat.go function Repeat (line 4) | func Repeat(character string) string { FILE: for/v1/repeat_test.go function TestRepeat (line 5) | func TestRepeat(t *testing.T) { FILE: for/v2/repeat.go constant repeatCount (line 3) | repeatCount = 5 function Repeat (line 6) | func Repeat(character string) string { FILE: for/v2/repeat_test.go function TestRepeat (line 5) | func TestRepeat(t *testing.T) { FILE: for/v3/repeat.go constant repeatCount (line 5) | repeatCount = 5 function Repeat (line 8) | func Repeat(character string) string { FILE: for/v3/repeat_test.go function TestRepeat (line 5) | func TestRepeat(t *testing.T) { FILE: for/vx/repeat.go constant repeatCount (line 3) | repeatCount = 5 function Repeat (line 6) | func Repeat(character string) string { FILE: for/vx/repeat_test.go function TestRepeat (line 5) | func TestRepeat(t *testing.T) { function BenchmarkRepeat (line 14) | func BenchmarkRepeat(b *testing.B) { FILE: generics/assert.go function AssertEqual (line 5) | func AssertEqual[T comparable](t *testing.T, got, want T) { function AssertNotEqual (line 12) | func AssertNotEqual[T comparable](t *testing.T, got, want T) { function AssertTrue (line 19) | func AssertTrue(t *testing.T, got bool) { function AssertFalse (line 26) | func AssertFalse(t *testing.T, got bool) { FILE: generics/generics_test.go function TestAssertFunctions (line 5) | func TestAssertFunctions(t *testing.T) { function TestStack (line 19) | func TestStack(t *testing.T) { FILE: generics/stack.go type Stack (line 3) | type Stack struct function NewStack (line 7) | func NewStack[T any]() *Stack[T] { method Push (line 11) | func (s *Stack[T]) Push(value T) { method IsEmpty (line 15) | func (s *Stack[T]) IsEmpty() bool { method Pop (line 19) | func (s *Stack[T]) Pop() (T, bool) { FILE: hello-world/v1/hello.go function main (line 5) | func main() { FILE: hello-world/v2/hello.go function Hello (line 6) | func Hello() string { function main (line 10) | func main() { FILE: hello-world/v2/hello_test.go function TestHello (line 5) | func TestHello(t *testing.T) { FILE: hello-world/v3/hello.go function Hello (line 6) | func Hello(name string) string { function main (line 10) | func main() { FILE: hello-world/v3/hello_test.go function TestHello (line 5) | func TestHello(t *testing.T) { FILE: hello-world/v4/hello.go constant englishHelloPrefix (line 5) | englishHelloPrefix = "Hello, " function Hello (line 8) | func Hello(name string) string { function main (line 12) | func main() { FILE: hello-world/v4/hello_test.go function TestHello (line 5) | func TestHello(t *testing.T) { FILE: hello-world/v5/hello.go constant englishHelloPrefix (line 5) | englishHelloPrefix = "Hello, " function Hello (line 8) | func Hello(name string) string { function main (line 15) | func main() { FILE: hello-world/v5/hello_test.go function TestHello (line 5) | func TestHello(t *testing.T) { function assertCorrectMessage (line 20) | func assertCorrectMessage(t testing.TB, got, want string) { FILE: hello-world/v6/hello.go constant spanish (line 5) | spanish = "Spanish" constant french (line 6) | french = "French" constant englishHelloPrefix (line 7) | englishHelloPrefix = "Hello, " constant spanishHelloPrefix (line 8) | spanishHelloPrefix = "Hola, " constant frenchHelloPrefix (line 9) | frenchHelloPrefix = "Bonjour, " function Hello (line 12) | func Hello(name string, language string) string { function main (line 28) | func main() { FILE: hello-world/v6/hello_test.go function TestHello (line 5) | func TestHello(t *testing.T) { function assertCorrectMessage (line 32) | func assertCorrectMessage(t testing.TB, got, want string) { FILE: hello-world/v7/hello.go constant spanish (line 5) | spanish = "Spanish" constant french (line 6) | french = "French" constant englishHelloPrefix (line 7) | englishHelloPrefix = "Hello, " constant spanishHelloPrefix (line 8) | spanishHelloPrefix = "Hola, " constant frenchHelloPrefix (line 9) | frenchHelloPrefix = "Bonjour, " function Hello (line 12) | func Hello(name string, language string) string { function main (line 29) | func main() { FILE: hello-world/v7/hello_test.go function TestHello (line 5) | func TestHello(t *testing.T) { function assertCorrectMessage (line 31) | func assertCorrectMessage(t testing.TB, got, want string) { FILE: hello-world/v8/hello.go constant spanish (line 5) | spanish = "Spanish" constant french (line 6) | french = "French" constant englishHelloPrefix (line 7) | englishHelloPrefix = "Hello, " constant spanishHelloPrefix (line 8) | spanishHelloPrefix = "Hola, " constant frenchHelloPrefix (line 9) | frenchHelloPrefix = "Bonjour, " function Hello (line 12) | func Hello(name string, language string) string { function greetingPrefix (line 20) | func greetingPrefix(language string) (prefix string) { function main (line 32) | func main() { FILE: hello-world/v8/hello_test.go function TestHello (line 5) | func TestHello(t *testing.T) { function assertCorrectMessage (line 31) | func assertCorrectMessage(t testing.TB, got, want string) { FILE: http-server/v1/main.go function main (line 8) | func main() { FILE: http-server/v1/server.go function PlayerServer (line 9) | func PlayerServer(w http.ResponseWriter, r *http.Request) { FILE: http-server/v1/server_test.go function TestGETPlayers (line 9) | func TestGETPlayers(t *testing.T) { FILE: http-server/v2/main.go type InMemoryPlayerStore (line 9) | type InMemoryPlayerStore struct method GetPlayerScore (line 12) | func (i *InMemoryPlayerStore) GetPlayerScore(name string) int { function main (line 16) | func main() { FILE: http-server/v2/server.go type PlayerStore (line 10) | type PlayerStore interface type PlayerServer (line 15) | type PlayerServer struct method ServeHTTP (line 19) | func (p *PlayerServer) ServeHTTP(w http.ResponseWriter, r *http.Reques... FILE: http-server/v2/server_test.go type StubPlayerStore (line 10) | type StubPlayerStore struct method GetPlayerScore (line 14) | func (s *StubPlayerStore) GetPlayerScore(name string) int { function TestGETPlayers (line 19) | func TestGETPlayers(t *testing.T) { function assertStatus (line 66) | func assertStatus(t testing.TB, got, want int) { function newGetScoreRequest (line 73) | func newGetScoreRequest(name string) *http.Request { function assertResponseBody (line 78) | func assertResponseBody(t testing.TB, got, want string) { FILE: http-server/v3/main.go type InMemoryPlayerStore (line 9) | type InMemoryPlayerStore struct method GetPlayerScore (line 12) | func (i *InMemoryPlayerStore) GetPlayerScore(name string) int { function main (line 16) | func main() { FILE: http-server/v3/server.go type PlayerStore (line 10) | type PlayerStore interface type PlayerServer (line 15) | type PlayerServer struct method ServeHTTP (line 19) | func (p *PlayerServer) ServeHTTP(w http.ResponseWriter, r *http.Reques... method showScore (line 30) | func (p *PlayerServer) showScore(w http.ResponseWriter, r *http.Reques... method processWin (line 42) | func (p *PlayerServer) processWin(w http.ResponseWriter) { FILE: http-server/v3/server_test.go type StubPlayerStore (line 10) | type StubPlayerStore struct method GetPlayerScore (line 14) | func (s *StubPlayerStore) GetPlayerScore(name string) int { function TestGETPlayers (line 19) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 66) | func TestStoreWins(t *testing.T) { function assertStatus (line 82) | func assertStatus(t testing.TB, got, want int) { function newGetScoreRequest (line 89) | func newGetScoreRequest(name string) *http.Request { function assertResponseBody (line 94) | func assertResponseBody(t testing.TB, got, want string) { FILE: http-server/v4/main.go type InMemoryPlayerStore (line 9) | type InMemoryPlayerStore struct method RecordWin (line 12) | func (i *InMemoryPlayerStore) RecordWin(name string) { method GetPlayerScore (line 16) | func (i *InMemoryPlayerStore) GetPlayerScore(name string) int { function main (line 20) | func main() { FILE: http-server/v4/server.go type PlayerStore (line 10) | type PlayerStore interface type PlayerServer (line 16) | type PlayerServer struct method ServeHTTP (line 20) | func (p *PlayerServer) ServeHTTP(w http.ResponseWriter, r *http.Reques... method showScore (line 31) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 41) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { FILE: http-server/v4/server_test.go type StubPlayerStore (line 10) | type StubPlayerStore struct method GetPlayerScore (line 15) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 20) | func (s *StubPlayerStore) RecordWin(name string) { function TestGETPlayers (line 24) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 72) | func TestStoreWins(t *testing.T) { function assertStatus (line 99) | func assertStatus(t testing.TB, got, want int) { function newGetScoreRequest (line 106) | func newGetScoreRequest(name string) *http.Request { function assertResponseBody (line 111) | func assertResponseBody(t testing.TB, got, want string) { FILE: http-server/v5/in_memory_player_store.go function NewInMemoryPlayerStore (line 6) | func NewInMemoryPlayerStore() *InMemoryPlayerStore { type InMemoryPlayerStore (line 14) | type InMemoryPlayerStore struct method RecordWin (line 21) | func (i *InMemoryPlayerStore) RecordWin(name string) { method GetPlayerScore (line 28) | func (i *InMemoryPlayerStore) GetPlayerScore(name string) int { FILE: http-server/v5/main.go function main (line 8) | func main() { FILE: http-server/v5/server.go type PlayerStore (line 10) | type PlayerStore interface type PlayerServer (line 16) | type PlayerServer struct method ServeHTTP (line 20) | func (p *PlayerServer) ServeHTTP(w http.ResponseWriter, r *http.Reques... method showScore (line 30) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 40) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { FILE: http-server/v5/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: http-server/v5/server_test.go type StubPlayerStore (line 10) | type StubPlayerStore struct method GetPlayerScore (line 15) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 20) | func (s *StubPlayerStore) RecordWin(name string) { function TestGETPlayers (line 24) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 72) | func TestStoreWins(t *testing.T) { function assertStatus (line 99) | func assertStatus(t testing.TB, got, want int) { function newGetScoreRequest (line 106) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 111) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 116) | func assertResponseBody(t testing.TB, got, want string) { FILE: integers/v1/adder.go function Add (line 4) | func Add(x, y int) int { FILE: integers/v1/adder_test.go function TestAdder (line 5) | func TestAdder(t *testing.T) { FILE: integers/v2/adder.go function Add (line 4) | func Add(x, y int) int { FILE: integers/v2/adder_test.go function TestAdder (line 8) | func TestAdder(t *testing.T) { function ExampleAdd (line 17) | func ExampleAdd() { FILE: io/v1/file_system_store.go type FileSystemPlayerStore (line 8) | type FileSystemPlayerStore struct method GetLeague (line 13) | func (f *FileSystemPlayerStore) GetLeague() []Player { FILE: io/v1/file_system_store_test.go function TestFileSystemStore (line 8) | func TestFileSystemStore(t *testing.T) { FILE: io/v1/in_memory_player_store.go function NewInMemoryPlayerStore (line 4) | func NewInMemoryPlayerStore() *InMemoryPlayerStore { type InMemoryPlayerStore (line 9) | type InMemoryPlayerStore struct method GetLeague (line 14) | func (i *InMemoryPlayerStore) GetLeague() []Player { method RecordWin (line 23) | func (i *InMemoryPlayerStore) RecordWin(name string) { method GetPlayerScore (line 28) | func (i *InMemoryPlayerStore) GetPlayerScore(name string) int { FILE: io/v1/league.go function NewLeague (line 9) | func NewLeague(rdr io.Reader) ([]Player, error) { FILE: io/v1/main.go function main (line 8) | func main() { FILE: io/v1/server.go type PlayerStore (line 11) | type PlayerStore interface type Player (line 18) | type Player struct type PlayerServer (line 24) | type PlayerServer struct method leagueHandler (line 46) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method playersHandler (line 51) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 62) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 72) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { constant jsonContentType (line 29) | jsonContentType = "application/json" function NewPlayerServer (line 32) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: io/v1/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: io/v1/server_test.go type StubPlayerStore (line 12) | type StubPlayerStore struct method GetPlayerScore (line 18) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 23) | func (s *StubPlayerStore) RecordWin(name string) { method GetLeague (line 27) | func (s *StubPlayerStore) GetLeague() []Player { function TestGETPlayers (line 31) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 72) | func TestStoreWins(t *testing.T) { function TestLeague (line 100) | func TestLeague(t *testing.T) { function assertContentType (line 126) | func assertContentType(t testing.TB, response *httptest.ResponseRecorder... function getLeagueFromResponse (line 133) | func getLeagueFromResponse(t testing.TB, body io.Reader) []Player { function assertLeague (line 144) | func assertLeague(t testing.TB, got, want []Player) { function assertStatus (line 151) | func assertStatus(t testing.TB, got, want int) { function newLeagueRequest (line 158) | func newLeagueRequest() *http.Request { function newGetScoreRequest (line 163) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 168) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 173) | func assertResponseBody(t testing.TB, got, want string) { FILE: io/v2/file_system_store.go type FileSystemPlayerStore (line 8) | type FileSystemPlayerStore struct method GetLeague (line 13) | func (f *FileSystemPlayerStore) GetLeague() []Player { method GetPlayerScore (line 20) | func (f *FileSystemPlayerStore) GetPlayerScore(name string) int { FILE: io/v2/file_system_store_test.go function TestFileSystemStore (line 8) | func TestFileSystemStore(t *testing.T) { function assertScoreEquals (line 44) | func assertScoreEquals(t testing.TB, got, want int) { FILE: io/v2/in_memory_player_store.go function NewInMemoryPlayerStore (line 4) | func NewInMemoryPlayerStore() *InMemoryPlayerStore { type InMemoryPlayerStore (line 9) | type InMemoryPlayerStore struct method GetLeague (line 14) | func (i *InMemoryPlayerStore) GetLeague() []Player { method RecordWin (line 23) | func (i *InMemoryPlayerStore) RecordWin(name string) { method GetPlayerScore (line 28) | func (i *InMemoryPlayerStore) GetPlayerScore(name string) int { FILE: io/v2/league.go function NewLeague (line 10) | func NewLeague(rdr io.Reader) ([]Player, error) { FILE: io/v2/main.go function main (line 8) | func main() { FILE: io/v2/server.go type PlayerStore (line 11) | type PlayerStore interface type Player (line 18) | type Player struct type PlayerServer (line 24) | type PlayerServer struct method leagueHandler (line 46) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method playersHandler (line 51) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 62) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 72) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { constant jsonContentType (line 29) | jsonContentType = "application/json" function NewPlayerServer (line 32) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: io/v2/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: io/v2/server_test.go type StubPlayerStore (line 12) | type StubPlayerStore struct method GetPlayerScore (line 18) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 23) | func (s *StubPlayerStore) RecordWin(name string) { method GetLeague (line 27) | func (s *StubPlayerStore) GetLeague() []Player { function TestGETPlayers (line 31) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 72) | func TestStoreWins(t *testing.T) { function TestLeague (line 100) | func TestLeague(t *testing.T) { function assertContentType (line 126) | func assertContentType(t testing.TB, response *httptest.ResponseRecorder... function getLeagueFromResponse (line 133) | func getLeagueFromResponse(t testing.TB, body io.Reader) []Player { function assertLeague (line 144) | func assertLeague(t testing.TB, got, want []Player) { function assertStatus (line 151) | func assertStatus(t testing.TB, got, want int) { function newLeagueRequest (line 158) | func newLeagueRequest() *http.Request { function newGetScoreRequest (line 163) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 168) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 173) | func assertResponseBody(t testing.TB, got, want string) { FILE: io/v3/file_system_store.go type FileSystemPlayerStore (line 9) | type FileSystemPlayerStore struct method GetLeague (line 14) | func (f *FileSystemPlayerStore) GetLeague() League { method GetPlayerScore (line 21) | func (f *FileSystemPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 33) | func (f *FileSystemPlayerStore) RecordWin(name string) { FILE: io/v3/file_system_store_test.go function createTempFile (line 9) | func createTempFile(t testing.TB, initialData string) (io.ReadWriteSeeke... function TestFileSystemStore (line 28) | func TestFileSystemStore(t *testing.T) { function assertScoreEquals (line 81) | func assertScoreEquals(t testing.TB, got, want int) { FILE: io/v3/in_memory_player_store.go function NewInMemoryPlayerStore (line 4) | func NewInMemoryPlayerStore() *InMemoryPlayerStore { type InMemoryPlayerStore (line 9) | type InMemoryPlayerStore struct method GetLeague (line 14) | func (i *InMemoryPlayerStore) GetLeague() League { method RecordWin (line 23) | func (i *InMemoryPlayerStore) RecordWin(name string) { method GetPlayerScore (line 28) | func (i *InMemoryPlayerStore) GetPlayerScore(name string) int { FILE: io/v3/league.go type League (line 10) | type League method Find (line 13) | func (l League) Find(name string) *Player { function NewLeague (line 23) | func NewLeague(rdr io.Reader) (League, error) { FILE: io/v3/main.go function main (line 8) | func main() { FILE: io/v3/server.go type PlayerStore (line 11) | type PlayerStore interface type Player (line 18) | type Player struct type PlayerServer (line 24) | type PlayerServer struct method leagueHandler (line 46) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method playersHandler (line 51) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 62) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 72) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { constant jsonContentType (line 29) | jsonContentType = "application/json" function NewPlayerServer (line 32) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: io/v3/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: io/v3/server_test.go type StubPlayerStore (line 12) | type StubPlayerStore struct method GetPlayerScore (line 18) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 23) | func (s *StubPlayerStore) RecordWin(name string) { method GetLeague (line 27) | func (s *StubPlayerStore) GetLeague() League { function TestGETPlayers (line 31) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 72) | func TestStoreWins(t *testing.T) { function TestLeague (line 100) | func TestLeague(t *testing.T) { function assertContentType (line 126) | func assertContentType(t testing.TB, response *httptest.ResponseRecorder... function getLeagueFromResponse (line 133) | func getLeagueFromResponse(t testing.TB, body io.Reader) []Player { function assertLeague (line 144) | func assertLeague(t testing.TB, got, want []Player) { function assertStatus (line 151) | func assertStatus(t testing.TB, got, want int) { function newLeagueRequest (line 158) | func newLeagueRequest() *http.Request { function newGetScoreRequest (line 163) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 168) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 173) | func assertResponseBody(t testing.TB, got, want string) { FILE: io/v4/file_system_store.go type FileSystemPlayerStore (line 9) | type FileSystemPlayerStore struct method GetLeague (line 14) | func (f *FileSystemPlayerStore) GetLeague() League { method GetPlayerScore (line 21) | func (f *FileSystemPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 33) | func (f *FileSystemPlayerStore) RecordWin(name string) { FILE: io/v4/file_system_store_test.go function createTempFile (line 9) | func createTempFile(t testing.TB, initialData string) (io.ReadWriteSeeke... function TestFileSystemStore (line 28) | func TestFileSystemStore(t *testing.T) { function assertScoreEquals (line 96) | func assertScoreEquals(t testing.TB, got, want int) { FILE: io/v4/in_memory_player_store.go function NewInMemoryPlayerStore (line 4) | func NewInMemoryPlayerStore() *InMemoryPlayerStore { type InMemoryPlayerStore (line 9) | type InMemoryPlayerStore struct method GetLeague (line 14) | func (i *InMemoryPlayerStore) GetLeague() League { method RecordWin (line 23) | func (i *InMemoryPlayerStore) RecordWin(name string) { method GetPlayerScore (line 28) | func (i *InMemoryPlayerStore) GetPlayerScore(name string) int { FILE: io/v4/league.go type League (line 10) | type League method Find (line 13) | func (l League) Find(name string) *Player { function NewLeague (line 23) | func NewLeague(rdr io.Reader) (League, error) { FILE: io/v4/main.go function main (line 8) | func main() { FILE: io/v4/server.go type PlayerStore (line 11) | type PlayerStore interface type Player (line 18) | type Player struct type PlayerServer (line 24) | type PlayerServer struct method leagueHandler (line 46) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method playersHandler (line 51) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 62) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 72) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { constant jsonContentType (line 29) | jsonContentType = "application/json" function NewPlayerServer (line 32) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: io/v4/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: io/v4/server_test.go type StubPlayerStore (line 12) | type StubPlayerStore struct method GetPlayerScore (line 18) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 23) | func (s *StubPlayerStore) RecordWin(name string) { method GetLeague (line 27) | func (s *StubPlayerStore) GetLeague() League { function TestGETPlayers (line 31) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 72) | func TestStoreWins(t *testing.T) { function TestLeague (line 100) | func TestLeague(t *testing.T) { function assertContentType (line 126) | func assertContentType(t testing.TB, response *httptest.ResponseRecorder... function getLeagueFromResponse (line 133) | func getLeagueFromResponse(t testing.TB, body io.Reader) []Player { function assertLeague (line 144) | func assertLeague(t testing.TB, got, want []Player) { function assertStatus (line 151) | func assertStatus(t testing.TB, got, want int) { function newLeagueRequest (line 158) | func newLeagueRequest() *http.Request { function newGetScoreRequest (line 163) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 168) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 173) | func assertResponseBody(t testing.TB, got, want string) { FILE: io/v5/file_system_store.go type FileSystemPlayerStore (line 9) | type FileSystemPlayerStore struct method GetLeague (line 14) | func (f *FileSystemPlayerStore) GetLeague() League { method GetPlayerScore (line 21) | func (f *FileSystemPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 33) | func (f *FileSystemPlayerStore) RecordWin(name string) { FILE: io/v5/file_system_store_test.go function createTempFile (line 9) | func createTempFile(t testing.TB, initialData string) (io.ReadWriteSeeke... function TestFileSystemStore (line 28) | func TestFileSystemStore(t *testing.T) { function assertScoreEquals (line 96) | func assertScoreEquals(t testing.TB, got, want int) { FILE: io/v5/league.go type League (line 10) | type League method Find (line 13) | func (l League) Find(name string) *Player { function NewLeague (line 23) | func NewLeague(rdr io.Reader) (League, error) { FILE: io/v5/main.go constant dbFileName (line 9) | dbFileName = "game.db.json" function main (line 11) | func main() { FILE: io/v5/server.go type PlayerStore (line 11) | type PlayerStore interface type Player (line 18) | type Player struct type PlayerServer (line 24) | type PlayerServer struct method leagueHandler (line 46) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method playersHandler (line 51) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 62) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 72) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { constant jsonContentType (line 29) | jsonContentType = "application/json" function NewPlayerServer (line 32) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: io/v5/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: io/v5/server_test.go type StubPlayerStore (line 12) | type StubPlayerStore struct method GetPlayerScore (line 18) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 23) | func (s *StubPlayerStore) RecordWin(name string) { method GetLeague (line 27) | func (s *StubPlayerStore) GetLeague() League { function TestGETPlayers (line 31) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 72) | func TestStoreWins(t *testing.T) { function TestLeague (line 100) | func TestLeague(t *testing.T) { function assertContentType (line 126) | func assertContentType(t testing.TB, response *httptest.ResponseRecorder... function getLeagueFromResponse (line 133) | func getLeagueFromResponse(t testing.TB, body io.Reader) []Player { function assertLeague (line 144) | func assertLeague(t testing.TB, got, want []Player) { function assertStatus (line 151) | func assertStatus(t testing.TB, got, want int) { function newLeagueRequest (line 158) | func newLeagueRequest() *http.Request { function newGetScoreRequest (line 163) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 168) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 173) | func assertResponseBody(t testing.TB, got, want string) { FILE: io/v6/file_system_store.go type FileSystemPlayerStore (line 9) | type FileSystemPlayerStore struct method GetLeague (line 26) | func (f *FileSystemPlayerStore) GetLeague() League { method GetPlayerScore (line 31) | func (f *FileSystemPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 43) | func (f *FileSystemPlayerStore) RecordWin(name string) { function NewFileSystemPlayerStore (line 15) | func NewFileSystemPlayerStore(database io.ReadWriteSeeker) *FileSystemPl... FILE: io/v6/file_system_store_test.go function createTempFile (line 9) | func createTempFile(t testing.TB, initialData string) (io.ReadWriteSeeke... function TestFileSystemStore (line 28) | func TestFileSystemStore(t *testing.T) { function assertScoreEquals (line 96) | func assertScoreEquals(t testing.TB, got, want int) { FILE: io/v6/league.go type League (line 10) | type League method Find (line 13) | func (l League) Find(name string) *Player { function NewLeague (line 23) | func NewLeague(rdr io.Reader) (League, error) { FILE: io/v6/main.go constant dbFileName (line 9) | dbFileName = "game.db.json" function main (line 11) | func main() { FILE: io/v6/server.go type PlayerStore (line 11) | type PlayerStore interface type Player (line 18) | type Player struct type PlayerServer (line 24) | type PlayerServer struct method leagueHandler (line 46) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method playersHandler (line 51) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 62) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 72) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { constant jsonContentType (line 29) | jsonContentType = "application/json" function NewPlayerServer (line 32) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: io/v6/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: io/v6/server_test.go type StubPlayerStore (line 12) | type StubPlayerStore struct method GetPlayerScore (line 18) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 23) | func (s *StubPlayerStore) RecordWin(name string) { method GetLeague (line 27) | func (s *StubPlayerStore) GetLeague() League { function TestGETPlayers (line 31) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 72) | func TestStoreWins(t *testing.T) { function TestLeague (line 100) | func TestLeague(t *testing.T) { function assertContentType (line 126) | func assertContentType(t testing.TB, response *httptest.ResponseRecorder... function getLeagueFromResponse (line 133) | func getLeagueFromResponse(t testing.TB, body io.Reader) []Player { function assertLeague (line 144) | func assertLeague(t testing.TB, got, want []Player) { function assertStatus (line 151) | func assertStatus(t testing.TB, got, want int) { function newLeagueRequest (line 158) | func newLeagueRequest() *http.Request { function newGetScoreRequest (line 163) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 168) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 173) | func assertResponseBody(t testing.TB, got, want string) { FILE: io/v7/file_system_store.go type FileSystemPlayerStore (line 10) | type FileSystemPlayerStore struct method GetLeague (line 27) | func (f *FileSystemPlayerStore) GetLeague() League { method GetPlayerScore (line 32) | func (f *FileSystemPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 44) | func (f *FileSystemPlayerStore) RecordWin(name string) { function NewFileSystemPlayerStore (line 16) | func NewFileSystemPlayerStore(file *os.File) *FileSystemPlayerStore { FILE: io/v7/file_system_store_test.go function createTempFile (line 8) | func createTempFile(t testing.TB, initialData string) (*os.File, func()) { function TestFileSystemStore (line 27) | func TestFileSystemStore(t *testing.T) { function assertScoreEquals (line 95) | func assertScoreEquals(t testing.TB, got, want int) { FILE: io/v7/league.go type League (line 10) | type League method Find (line 13) | func (l League) Find(name string) *Player { function NewLeague (line 23) | func NewLeague(rdr io.Reader) (League, error) { FILE: io/v7/main.go constant dbFileName (line 9) | dbFileName = "game.db.json" function main (line 11) | func main() { FILE: io/v7/server.go type PlayerStore (line 11) | type PlayerStore interface type Player (line 18) | type Player struct type PlayerServer (line 24) | type PlayerServer struct method leagueHandler (line 46) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method playersHandler (line 51) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 62) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 72) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { constant jsonContentType (line 29) | jsonContentType = "application/json" function NewPlayerServer (line 32) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: io/v7/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: io/v7/server_test.go type StubPlayerStore (line 12) | type StubPlayerStore struct method GetPlayerScore (line 18) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 23) | func (s *StubPlayerStore) RecordWin(name string) { method GetLeague (line 27) | func (s *StubPlayerStore) GetLeague() League { function TestGETPlayers (line 31) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 72) | func TestStoreWins(t *testing.T) { function TestLeague (line 100) | func TestLeague(t *testing.T) { function assertContentType (line 126) | func assertContentType(t testing.TB, response *httptest.ResponseRecorder... function getLeagueFromResponse (line 133) | func getLeagueFromResponse(t testing.TB, body io.Reader) []Player { function assertLeague (line 144) | func assertLeague(t testing.TB, got, want []Player) { function assertStatus (line 151) | func assertStatus(t testing.TB, got, want int) { function newLeagueRequest (line 158) | func newLeagueRequest() *http.Request { function newGetScoreRequest (line 163) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 168) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 173) | func assertResponseBody(t testing.TB, got, want string) { FILE: io/v7/tape.go type tape (line 8) | type tape struct method Write (line 12) | func (t *tape) Write(p []byte) (n int, err error) { FILE: io/v7/tape_test.go function TestTape_Write (line 8) | func TestTape_Write(t *testing.T) { FILE: io/v8/file_system_store.go type FileSystemPlayerStore (line 11) | type FileSystemPlayerStore struct method GetLeague (line 55) | func (f *FileSystemPlayerStore) GetLeague() League { method GetPlayerScore (line 60) | func (f *FileSystemPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 72) | func (f *FileSystemPlayerStore) RecordWin(name string) { function NewFileSystemPlayerStore (line 17) | func NewFileSystemPlayerStore(file *os.File) (*FileSystemPlayerStore, er... function initialisePlayerDBFile (line 37) | func initialisePlayerDBFile(file *os.File) error { FILE: io/v8/file_system_store_test.go function createTempFile (line 8) | func createTempFile(t testing.TB, initialData string) (*os.File, func()) { function TestFileSystemStore (line 27) | func TestFileSystemStore(t *testing.T) { function assertScoreEquals (line 112) | func assertScoreEquals(t testing.TB, got, want int) { function assertNoError (line 119) | func assertNoError(t testing.TB, err error) { FILE: io/v8/league.go type League (line 10) | type League method Find (line 13) | func (l League) Find(name string) *Player { function NewLeague (line 23) | func NewLeague(rdr io.Reader) (League, error) { FILE: io/v8/main.go constant dbFileName (line 9) | dbFileName = "game.db.json" function main (line 11) | func main() { FILE: io/v8/server.go type PlayerStore (line 11) | type PlayerStore interface type Player (line 18) | type Player struct type PlayerServer (line 24) | type PlayerServer struct method leagueHandler (line 46) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method playersHandler (line 51) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 62) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 72) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { constant jsonContentType (line 29) | jsonContentType = "application/json" function NewPlayerServer (line 32) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: io/v8/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: io/v8/server_test.go type StubPlayerStore (line 12) | type StubPlayerStore struct method GetPlayerScore (line 18) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 23) | func (s *StubPlayerStore) RecordWin(name string) { method GetLeague (line 27) | func (s *StubPlayerStore) GetLeague() League { function TestGETPlayers (line 31) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 72) | func TestStoreWins(t *testing.T) { function TestLeague (line 100) | func TestLeague(t *testing.T) { function assertContentType (line 126) | func assertContentType(t testing.TB, response *httptest.ResponseRecorder... function getLeagueFromResponse (line 133) | func getLeagueFromResponse(t testing.TB, body io.Reader) []Player { function assertLeague (line 144) | func assertLeague(t testing.TB, got, want []Player) { function assertStatus (line 151) | func assertStatus(t testing.TB, got, want int) { function newLeagueRequest (line 158) | func newLeagueRequest() *http.Request { function newGetScoreRequest (line 163) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 168) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 173) | func assertResponseBody(t testing.TB, got, want string) { FILE: io/v8/tape.go type tape (line 8) | type tape struct method Write (line 12) | func (t *tape) Write(p []byte) (n int, err error) { FILE: io/v8/tape_test.go function TestTape_Write (line 8) | func TestTape_Write(t *testing.T) { FILE: io/v9/file_system_store.go type FileSystemPlayerStore (line 12) | type FileSystemPlayerStore struct method GetLeague (line 56) | func (f *FileSystemPlayerStore) GetLeague() League { method GetPlayerScore (line 64) | func (f *FileSystemPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 76) | func (f *FileSystemPlayerStore) RecordWin(name string) { function NewFileSystemPlayerStore (line 18) | func NewFileSystemPlayerStore(file *os.File) (*FileSystemPlayerStore, er... function initialisePlayerDBFile (line 38) | func initialisePlayerDBFile(file *os.File) error { FILE: io/v9/file_system_store_test.go function createTempFile (line 8) | func createTempFile(t testing.TB, initialData string) (*os.File, func()) { function TestFileSystemStore (line 27) | func TestFileSystemStore(t *testing.T) { function assertScoreEquals (line 112) | func assertScoreEquals(t testing.TB, got, want int) { function assertNoError (line 119) | func assertNoError(t testing.TB, err error) { FILE: io/v9/league.go type League (line 10) | type League method Find (line 13) | func (l League) Find(name string) *Player { function NewLeague (line 23) | func NewLeague(rdr io.Reader) (League, error) { FILE: io/v9/main.go constant dbFileName (line 9) | dbFileName = "game.db.json" function main (line 11) | func main() { FILE: io/v9/server.go type PlayerStore (line 11) | type PlayerStore interface type Player (line 18) | type Player struct type PlayerServer (line 24) | type PlayerServer struct method leagueHandler (line 46) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method playersHandler (line 51) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 62) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 72) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { constant jsonContentType (line 29) | jsonContentType = "application/json" function NewPlayerServer (line 32) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: io/v9/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: io/v9/server_test.go type StubPlayerStore (line 12) | type StubPlayerStore struct method GetPlayerScore (line 18) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 23) | func (s *StubPlayerStore) RecordWin(name string) { method GetLeague (line 27) | func (s *StubPlayerStore) GetLeague() League { function TestGETPlayers (line 31) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 72) | func TestStoreWins(t *testing.T) { function TestLeague (line 100) | func TestLeague(t *testing.T) { function assertContentType (line 126) | func assertContentType(t testing.TB, response *httptest.ResponseRecorder... function getLeagueFromResponse (line 133) | func getLeagueFromResponse(t testing.TB, body io.Reader) []Player { function assertLeague (line 144) | func assertLeague(t testing.TB, got, want []Player) { function assertStatus (line 151) | func assertStatus(t testing.TB, got, want int) { function newLeagueRequest (line 158) | func newLeagueRequest() *http.Request { function newGetScoreRequest (line 163) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 168) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 173) | func assertResponseBody(t testing.TB, got, want string) { FILE: io/v9/tape.go type tape (line 8) | type tape struct method Write (line 12) | func (t *tape) Write(p []byte) (n int, err error) { FILE: io/v9/tape_test.go function TestTape_Write (line 8) | func TestTape_Write(t *testing.T) { FILE: iterators/iterators_test.go function Concatenate (line 9) | func Concatenate(seq iter.Seq[string]) string { function Values (line 18) | func Values[K, V any](seq iter.Seq2[K, V]) iter.Seq[V] { function TestConcatenate (line 29) | func TestConcatenate(t *testing.T) { FILE: json/v1/in_memory_player_store.go function NewInMemoryPlayerStore (line 4) | func NewInMemoryPlayerStore() *InMemoryPlayerStore { type InMemoryPlayerStore (line 9) | type InMemoryPlayerStore struct method RecordWin (line 14) | func (i *InMemoryPlayerStore) RecordWin(name string) { method GetPlayerScore (line 19) | func (i *InMemoryPlayerStore) GetPlayerScore(name string) int { FILE: json/v1/main.go function main (line 8) | func main() { FILE: json/v1/server.go type PlayerStore (line 10) | type PlayerStore interface type PlayerServer (line 16) | type PlayerServer struct method ServeHTTP (line 20) | func (p *PlayerServer) ServeHTTP(w http.ResponseWriter, r *http.Reques... method showScore (line 31) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 41) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { FILE: json/v1/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: json/v1/server_test.go type StubPlayerStore (line 10) | type StubPlayerStore struct method GetPlayerScore (line 15) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 20) | func (s *StubPlayerStore) RecordWin(name string) { function TestGETPlayers (line 24) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 64) | func TestStoreWins(t *testing.T) { function assertStatus (line 91) | func assertStatus(t testing.TB, got, want int) { function newGetScoreRequest (line 98) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 103) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 108) | func assertResponseBody(t testing.TB, got, want string) { FILE: json/v2/in_memory_player_store.go function NewInMemoryPlayerStore (line 4) | func NewInMemoryPlayerStore() *InMemoryPlayerStore { type InMemoryPlayerStore (line 9) | type InMemoryPlayerStore struct method RecordWin (line 14) | func (i *InMemoryPlayerStore) RecordWin(name string) { method GetPlayerScore (line 19) | func (i *InMemoryPlayerStore) GetPlayerScore(name string) int { FILE: json/v2/main.go function main (line 8) | func main() { FILE: json/v2/server.go type PlayerStore (line 10) | type PlayerStore interface type PlayerServer (line 16) | type PlayerServer struct method leagueHandler (line 36) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method playersHandler (line 40) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 51) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 61) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { function NewPlayerServer (line 22) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: json/v2/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: json/v2/server_test.go type StubPlayerStore (line 10) | type StubPlayerStore struct method GetPlayerScore (line 15) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 20) | func (s *StubPlayerStore) RecordWin(name string) { function TestGETPlayers (line 24) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 64) | func TestStoreWins(t *testing.T) { function TestLeague (line 91) | func TestLeague(t *testing.T) { function assertStatus (line 105) | func assertStatus(t testing.TB, got, want int) { function newGetScoreRequest (line 112) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 117) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 122) | func assertResponseBody(t testing.TB, got, want string) { FILE: json/v3/in_memory_player_store.go function NewInMemoryPlayerStore (line 4) | func NewInMemoryPlayerStore() *InMemoryPlayerStore { type InMemoryPlayerStore (line 9) | type InMemoryPlayerStore struct method RecordWin (line 14) | func (i *InMemoryPlayerStore) RecordWin(name string) { method GetPlayerScore (line 19) | func (i *InMemoryPlayerStore) GetPlayerScore(name string) int { FILE: json/v3/main.go function main (line 8) | func main() { FILE: json/v3/server.go type PlayerStore (line 11) | type PlayerStore interface type Player (line 17) | type Player struct type PlayerServer (line 23) | type PlayerServer struct method leagueHandler (line 43) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method getLeagueTable (line 48) | func (p *PlayerServer) getLeagueTable() []Player { method playersHandler (line 54) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 65) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 75) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { function NewPlayerServer (line 29) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: json/v3/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: json/v3/server_test.go type StubPlayerStore (line 11) | type StubPlayerStore struct method GetPlayerScore (line 16) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 21) | func (s *StubPlayerStore) RecordWin(name string) { function TestGETPlayers (line 25) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 65) | func TestStoreWins(t *testing.T) { function TestLeague (line 92) | func TestLeague(t *testing.T) { function assertStatus (line 114) | func assertStatus(t testing.TB, got, want int) { function newGetScoreRequest (line 121) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 126) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 131) | func assertResponseBody(t testing.TB, got, want string) { FILE: json/v4/in_memory_player_store.go function NewInMemoryPlayerStore (line 4) | func NewInMemoryPlayerStore() *InMemoryPlayerStore { type InMemoryPlayerStore (line 9) | type InMemoryPlayerStore struct method GetLeague (line 14) | func (i *InMemoryPlayerStore) GetLeague() []Player { method RecordWin (line 19) | func (i *InMemoryPlayerStore) RecordWin(name string) { method GetPlayerScore (line 24) | func (i *InMemoryPlayerStore) GetPlayerScore(name string) int { FILE: json/v4/main.go function main (line 8) | func main() { FILE: json/v4/server.go type PlayerStore (line 11) | type PlayerStore interface type Player (line 18) | type Player struct type PlayerServer (line 24) | type PlayerServer struct method leagueHandler (line 44) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method playersHandler (line 49) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 60) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 70) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { function NewPlayerServer (line 30) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: json/v4/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: json/v4/server_test.go type StubPlayerStore (line 13) | type StubPlayerStore struct method GetPlayerScore (line 19) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 24) | func (s *StubPlayerStore) RecordWin(name string) { method GetLeague (line 28) | func (s *StubPlayerStore) GetLeague() []Player { function TestGETPlayers (line 32) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 73) | func TestStoreWins(t *testing.T) { function TestLeague (line 101) | func TestLeague(t *testing.T) { function getLeagueFromResponse (line 125) | func getLeagueFromResponse(t testing.TB, body io.Reader) (league []Playe... function assertLeague (line 136) | func assertLeague(t testing.TB, got, want []Player) { function assertStatus (line 143) | func assertStatus(t testing.TB, got, want int) { function newLeagueRequest (line 150) | func newLeagueRequest() *http.Request { function newGetScoreRequest (line 155) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 160) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 165) | func assertResponseBody(t testing.TB, got, want string) { FILE: json/v5/in_memory_player_store.go function NewInMemoryPlayerStore (line 4) | func NewInMemoryPlayerStore() *InMemoryPlayerStore { type InMemoryPlayerStore (line 9) | type InMemoryPlayerStore struct method GetLeague (line 14) | func (i *InMemoryPlayerStore) GetLeague() []Player { method RecordWin (line 19) | func (i *InMemoryPlayerStore) RecordWin(name string) { method GetPlayerScore (line 24) | func (i *InMemoryPlayerStore) GetPlayerScore(name string) int { FILE: json/v5/main.go function main (line 8) | func main() { FILE: json/v5/server.go type PlayerStore (line 11) | type PlayerStore interface type Player (line 18) | type Player struct type PlayerServer (line 24) | type PlayerServer struct method leagueHandler (line 46) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method playersHandler (line 51) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 62) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 72) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { constant jsonContentType (line 29) | jsonContentType = "application/json" function NewPlayerServer (line 32) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: json/v5/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: json/v5/server_test.go type StubPlayerStore (line 13) | type StubPlayerStore struct method GetPlayerScore (line 19) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 24) | func (s *StubPlayerStore) RecordWin(name string) { method GetLeague (line 28) | func (s *StubPlayerStore) GetLeague() []Player { function TestGETPlayers (line 32) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 73) | func TestStoreWins(t *testing.T) { function TestLeague (line 101) | func TestLeague(t *testing.T) { function assertContentType (line 127) | func assertContentType(t testing.TB, response *httptest.ResponseRecorder... function getLeagueFromResponse (line 134) | func getLeagueFromResponse(t testing.TB, body io.Reader) (league []Playe... function assertLeague (line 145) | func assertLeague(t testing.TB, got, want []Player) { function assertStatus (line 152) | func assertStatus(t testing.TB, got, want int) { function newLeagueRequest (line 159) | func newLeagueRequest() *http.Request { function newGetScoreRequest (line 164) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 169) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 174) | func assertResponseBody(t testing.TB, got, want string) { FILE: json/v6/in_memory_player_store.go function NewInMemoryPlayerStore (line 4) | func NewInMemoryPlayerStore() *InMemoryPlayerStore { type InMemoryPlayerStore (line 9) | type InMemoryPlayerStore struct method GetLeague (line 14) | func (i *InMemoryPlayerStore) GetLeague() []Player { method RecordWin (line 23) | func (i *InMemoryPlayerStore) RecordWin(name string) { method GetPlayerScore (line 28) | func (i *InMemoryPlayerStore) GetPlayerScore(name string) int { FILE: json/v6/main.go function main (line 8) | func main() { FILE: json/v6/server.go type PlayerStore (line 11) | type PlayerStore interface type Player (line 18) | type Player struct type PlayerServer (line 24) | type PlayerServer struct method leagueHandler (line 46) | func (p *PlayerServer) leagueHandler(w http.ResponseWriter, r *http.Re... method playersHandler (line 51) | func (p *PlayerServer) playersHandler(w http.ResponseWriter, r *http.R... method showScore (line 62) | func (p *PlayerServer) showScore(w http.ResponseWriter, player string) { method processWin (line 72) | func (p *PlayerServer) processWin(w http.ResponseWriter, player string) { constant jsonContentType (line 29) | jsonContentType = "application/json" function NewPlayerServer (line 32) | func NewPlayerServer(store PlayerStore) *PlayerServer { FILE: json/v6/server_integration_test.go function TestRecordingWinsAndRetrievingThem (line 9) | func TestRecordingWinsAndRetrievingThem(t *testing.T) { FILE: json/v6/server_test.go type StubPlayerStore (line 13) | type StubPlayerStore struct method GetPlayerScore (line 19) | func (s *StubPlayerStore) GetPlayerScore(name string) int { method RecordWin (line 24) | func (s *StubPlayerStore) RecordWin(name string) { method GetLeague (line 28) | func (s *StubPlayerStore) GetLeague() []Player { function TestGETPlayers (line 32) | func TestGETPlayers(t *testing.T) { function TestStoreWins (line 73) | func TestStoreWins(t *testing.T) { function TestLeague (line 101) | func TestLeague(t *testing.T) { function assertContentType (line 127) | func assertContentType(t testing.TB, response *httptest.ResponseRecorder... function getLeagueFromResponse (line 134) | func getLeagueFromResponse(t testing.TB, body io.Reader) (league []Playe... function assertLeague (line 145) | func assertLeague(t testing.TB, got, want []Player) { function assertStatus (line 152) | func assertStatus(t testing.TB, got, want int) { function newLeagueRequest (line 159) | func newLeagueRequest() *http.Request { function newGetScoreRequest (line 164) | func newGetScoreRequest(name string) *http.Request { function newPostWinRequest (line 169) | func newPostWinRequest(name string) *http.Request { function assertResponseBody (line 174) | func assertResponseBody(t testing.TB, got, want string) { FILE: maps/v1/dictionary.go type Dictionary (line 4) | type Dictionary method Search (line 7) | func (d Dictionary) Search(word string) string { FILE: maps/v1/dictionary_test.go function TestSearch (line 5) | func TestSearch(t *testing.T) { function assertStrings (line 14) | func assertStrings(t testing.TB, got, want string) { FILE: maps/v2/dictionary.go type Dictionary (line 6) | type Dictionary method Search (line 12) | func (d Dictionary) Search(word string) (string, error) { FILE: maps/v2/dictionary_test.go function TestSearch (line 7) | func TestSearch(t *testing.T) { function assertStrings (line 24) | func assertStrings(t testing.TB, got, want string) { function assertError (line 32) | func assertError(t testing.TB, got, want error) { FILE: maps/v3/dictionary.go type Dictionary (line 6) | type Dictionary method Search (line 12) | func (d Dictionary) Search(word string) (string, error) { method Add (line 22) | func (d Dictionary) Add(word, definition string) { FILE: maps/v3/dictionary_test.go function TestSearch (line 7) | func TestSearch(t *testing.T) { function TestAdd (line 24) | func TestAdd(t *testing.T) { function assertStrings (line 34) | func assertStrings(t testing.TB, got, want string) { function assertError (line 42) | func assertError(t testing.TB, got, want error) { function assertDefinition (line 50) | func assertDefinition(t testing.TB, dictionary Dictionary, word, definit... FILE: maps/v4/dictionary.go constant ErrNotFound (line 5) | ErrNotFound = DictionaryErr("could not find the word you were looking for") constant ErrWordExists (line 8) | ErrWordExists = DictionaryErr("cannot add word because it already exists") type DictionaryErr (line 12) | type DictionaryErr method Error (line 14) | func (e DictionaryErr) Error() string { type Dictionary (line 19) | type Dictionary method Search (line 22) | func (d Dictionary) Search(word string) (string, error) { method Add (line 32) | func (d Dictionary) Add(word, definition string) error { FILE: maps/v4/dictionary_test.go function TestSearch (line 7) | func TestSearch(t *testing.T) { function TestAdd (line 24) | func TestAdd(t *testing.T) { function assertStrings (line 47) | func assertStrings(t testing.TB, got, want string) { function assertError (line 55) | func assertError(t testing.TB, got, want error) { function assertDefinition (line 63) | func assertDefinition(t testing.TB, dictionary Dictionary, word, definit... FILE: maps/v5/dictionary.go constant ErrNotFound (line 5) | ErrNotFound = DictionaryErr("could not find the word you were looking for") constant ErrWordExists (line 8) | ErrWordExists = DictionaryErr("cannot add word because it already exists") type DictionaryErr (line 12) | type DictionaryErr method Error (line 14) | func (e DictionaryErr) Error() string { type Dictionary (line 19) | type Dictionary method Search (line 22) | func (d Dictionary) Search(word string) (string, error) { method Add (line 32) | func (d Dictionary) Add(word, definition string) error { method Update (line 48) | func (d Dictionary) Update(word, definition string) { FILE: maps/v5/dictionary_test.go function TestSearch (line 7) | func TestSearch(t *testing.T) { function TestAdd (line 24) | func TestAdd(t *testing.T) { function TestUpdate (line 47) | func TestUpdate(t *testing.T) { function assertStrings (line 58) | func assertStrings(t testing.TB, got, want string) { function assertError (line 66) | func assertError(t testing.TB, got, want error) { function assertDefinition (line 74) | func assertDefinition(t testing.TB, dictionary Dictionary, word, definit... FILE: maps/v6/dictionary.go constant ErrNotFound (line 5) | ErrNotFound = DictionaryErr("could not find the word you were looking for") constant ErrWordExists (line 8) | ErrWordExists = DictionaryErr("cannot add word because it already exists") constant ErrWordDoesNotExist (line 11) | ErrWordDoesNotExist = DictionaryErr("cannot perform operation on word be... type DictionaryErr (line 15) | type DictionaryErr method Error (line 17) | func (e DictionaryErr) Error() string { type Dictionary (line 22) | type Dictionary method Search (line 25) | func (d Dictionary) Search(word string) (string, error) { method Add (line 35) | func (d Dictionary) Add(word, definition string) error { method Update (line 51) | func (d Dictionary) Update(word, definition string) error { FILE: maps/v6/dictionary_test.go function TestSearch (line 7) | func TestSearch(t *testing.T) { function TestAdd (line 24) | func TestAdd(t *testing.T) { function TestUpdate (line 47) | func TestUpdate(t *testing.T) { function assertStrings (line 70) | func assertStrings(t testing.TB, got, want string) { function assertError (line 78) | func assertError(t testing.TB, got, want error) { function assertDefinition (line 86) | func assertDefinition(t testing.TB, dictionary Dictionary, word, definit... FILE: maps/v7/dictionary.go constant ErrNotFound (line 5) | ErrNotFound = DictionaryErr("could not find the word you were looking for") constant ErrWordExists (line 8) | ErrWordExists = DictionaryErr("cannot add word because it already exists") constant ErrWordDoesNotExist (line 11) | ErrWordDoesNotExist = DictionaryErr("cannot perform operation on word be... type DictionaryErr (line 15) | type DictionaryErr method Error (line 17) | func (e DictionaryErr) Error() string { type Dictionary (line 22) | type Dictionary method Search (line 25) | func (d Dictionary) Search(word string) (string, error) { method Add (line 35) | func (d Dictionary) Add(word, definition string) error { method Update (line 51) | func (d Dictionary) Update(word, definition string) error { method Delete (line 67) | func (d Dictionary) Delete(word string) error { FILE: maps/v7/dictionary_test.go function TestSearch (line 7) | func TestSearch(t *testing.T) { function TestAdd (line 24) | func TestAdd(t *testing.T) { function TestUpdate (line 47) | func TestUpdate(t *testing.T) { function TestDelete (line 70) | func TestDelete(t *testing.T) { function assertStrings (line 94) | func assertStrings(t testing.TB, got, want string) { function assertError (line 102) | func assertError(t testing.TB, got, want error) { function assertDefinition (line 110) | func assertDefinition(t testing.TB, dictionary Dictionary, word, definit... FILE: math/v1/clockface/clockface.go type Point (line 6) | type Point struct function SecondHand (line 13) | func SecondHand(t time.Time) Point { FILE: math/v1/clockface/clockface_test.go function TestSecondHandAtMidnight (line 10) | func TestSecondHandAtMidnight(t *testing.T) { FILE: math/v10/clockface/clockface.go type Point (line 9) | type Point struct function secondsInRadians (line 14) | func secondsInRadians(t time.Time) float64 { function secondHandPoint (line 18) | func secondHandPoint(t time.Time) Point { function minutesInRadians (line 22) | func minutesInRadians(t time.Time) float64 { function minuteHandPoint (line 27) | func minuteHandPoint(t time.Time) Point { function hoursInRadians (line 31) | func hoursInRadians(t time.Time) float64 { function angleToPoint (line 36) | func angleToPoint(angle float64) Point { FILE: math/v10/clockface/clockface/main.go function main (line 10) | func main() { FILE: math/v10/clockface/clockface_acceptance_test.go type SVG (line 12) | type SVG struct type Line (line 24) | type Line struct type Circle (line 31) | type Circle struct function TestSVGWriterSecondHand (line 37) | func TestSVGWriterSecondHand(t *testing.T) { function TestSVGWriterMinutedHand (line 67) | func TestSVGWriterMinutedHand(t *testing.T) { function TestSVGWriterHourHand (line 93) | func TestSVGWriterHourHand(t *testing.T) { function containsLine (line 119) | func containsLine(l Line, ls []Line) bool { function simpleTime (line 128) | func simpleTime(hours, minutes, seconds int) time.Time { function testName (line 132) | func testName(t time.Time) string { FILE: math/v10/clockface/clockface_test.go function TestSecondsInRadians (line 9) | func TestSecondsInRadians(t *testing.T) { function TestSecondHandPoint (line 30) | func TestSecondHandPoint(t *testing.T) { function TestMinutesInRadians (line 49) | func TestMinutesInRadians(t *testing.T) { function TestMinuteHandPoint (line 68) | func TestMinuteHandPoint(t *testing.T) { function TestHoursInRadians (line 87) | func TestHoursInRadians(t *testing.T) { function roughlyEqualFloat64 (line 108) | func roughlyEqualFloat64(a, b float64) bool { function roughlyEqualPoint (line 113) | func roughlyEqualPoint(a, b Point) bool { function simpleTime (line 118) | func simpleTime(hours, minutes, seconds int) time.Time { function testName (line 122) | func testName(t time.Time) string { FILE: math/v10/clockface/svgWriter.go constant secondHandLength (line 10) | secondHandLength = 90 constant minuteHandLength (line 11) | minuteHandLength = 80 constant clockCentreX (line 12) | clockCentreX = 150 constant clockCentreY (line 13) | clockCentreY = 150 function SVGWriter (line 17) | func SVGWriter(w io.Writer, t time.Time) { function secondHand (line 25) | func secondHand(w io.Writer, t time.Time) { function minuteHand (line 30) | func minuteHand(w io.Writer, t time.Time) { function makeHand (line 35) | func makeHand(p Point, length float64) Point { constant svgStart (line 41) | svgStart = ` constant bezel (line 49) | bezel = ` constant bezel (line 49) | bezel = ` constant bezel (line 56) | bezel = ` constant bezel (line 33) | bezel = ` constant bezel (line 39) | bezel = ` constant bezel (line 39) | bezel = ` constant bezel (line 39) | bezel = ` constant bezel (line 39) | bezel = ` constant bezel (line 49) | bezel = ` constant bezel (line 59) | bezel = `