Sha256: e7753018de250313cee6fbdf1c8817c7bb049a5624414a0df1d6388becb8cfca

Contents?: true

Size: 1.98 KB

Versions: 30

Compression:

Stored size: 1.98 KB

Contents

package connect

// Source: exercism/problem-specifications
// Commit: 327db7f connect: Fix canonical-data.json formatting
// Problem Specifications Version: 1.0.0

var testCases = []struct {
	description string
	board       []string
	expected    string
}{
	{
		description: "an empty board has no winner",
		board: []string{
			". . . . .",
			" . . . . .",
			"  . . . . .",
			"   . . . . .",
			"    . . . . ."},
		expected: "",
	},
	{
		description: "X can win on a 1x1 board",
		board: []string{
			"X"},
		expected: "X",
	},
	{
		description: "O can win on a 1x1 board",
		board: []string{
			"O"},
		expected: "O",
	},
	{
		description: "only edges does not make a winner",
		board: []string{
			"O O O X",
			" X . . X",
			"  X . . X",
			"   X O O O"},
		expected: "",
	},
	{
		description: "illegal diagonal does not make a winner",
		board: []string{
			"X O . .",
			" O X X X",
			"  O X O .",
			"   . O X .",
			"    X X O O"},
		expected: "",
	},
	{
		description: "nobody wins crossing adjacent angles",
		board: []string{
			"X . . .",
			" . X O .",
			"  O . X O",
			"   . O . X",
			"    . . O ."},
		expected: "",
	},
	{
		description: "X wins crossing from left to right",
		board: []string{
			". O . .",
			" O X X X",
			"  O X O .",
			"   X X O X",
			"    . O X ."},
		expected: "X",
	},
	{
		description: "O wins crossing from top to bottom",
		board: []string{
			". O . .",
			" O X X X",
			"  O O O .",
			"   X X O X",
			"    . O X ."},
		expected: "O",
	},
	{
		description: "X wins using a convoluted path",
		board: []string{
			". X X . .",
			" X . X . X",
			"  . X . X .",
			"   . X X . .",
			"    O O O O O"},
		expected: "X",
	},
	{
		description: "X wins using a spiral path",
		board: []string{
			"O X X X X X X X X",
			" O X O O O O O O O",
			"  O X O X X X X X O",
			"   O X O X O O O X O",
			"    O X O X X X O X O",
			"     O X O O O X O X O",
			"      O X X X X X O X O",
			"       O O O O O O O X O",
			"        X X X X X X X X O"},
		expected: "X",
	},
}

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
trackler-2.2.1.86 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.85 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.84 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.83 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.82 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.81 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.80 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.79 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.78 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.77 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.76 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.75 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.74 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.73 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.72 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.71 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.70 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.69 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.68 tracks/go/exercises/connect/cases_test.go
trackler-2.2.1.67 tracks/go/exercises/connect/cases_test.go