Just my learning go snippets
package tictactoe_test

import (
	"testing"
	"tictactoe"

	"github.com/matryer/is"
)

func TestEvaluate(t *testing.T) {
	is := is.NewRelaxed(t)
	var testCases = []struct {
		description string
		board       tictactoe.Board
		expected    int
	}{
		{"Nothing", tictactoe.Board{
			{tictactoe.P_1, tictactoe.P_1, tictactoe.P_2},
			{tictactoe.Emp, tictactoe.Emp, tictactoe.Emp},
			{tictactoe.Emp, tictactoe.Emp, tictactoe.Emp}},
			0},
		{"tictactoe.P_1 row", tictactoe.Board{
			{tictactoe.P_1, tictactoe.P_1, tictactoe.P_1},
			{tictactoe.Emp, tictactoe.Emp, tictactoe.Emp},
			{tictactoe.Emp, tictactoe.Emp, tictactoe.Emp}},
			10},
		{"tictactoe.P_2 col", tictactoe.Board{
			{tictactoe.P_2, tictactoe.Emp, tictactoe.Emp},
			{tictactoe.P_2, tictactoe.Emp, tictactoe.Emp},
			{tictactoe.P_2, tictactoe.Emp, tictactoe.Emp}},
			-10},
		{"tictactoe.P_1 last col", tictactoe.Board{
			{tictactoe.Emp, tictactoe.Emp, tictactoe.P_1},
			{tictactoe.Emp, tictactoe.Emp, tictactoe.P_1},
			{tictactoe.Emp, tictactoe.Emp, tictactoe.P_1}},
			10},
		{"tictactoe.P_2 diag lr", tictactoe.Board{
			{tictactoe.P_2, tictactoe.Emp, tictactoe.Emp},
			{tictactoe.Emp, tictactoe.P_2, tictactoe.Emp},
			{tictactoe.Emp, tictactoe.Emp, tictactoe.P_2}},
			-10},
		{"tictactoe.P_1 diag rl", tictactoe.Board{
			{tictactoe.Emp, tictactoe.Emp, tictactoe.P_1},
			{tictactoe.Emp, tictactoe.P_1, tictactoe.Emp},
			{tictactoe.P_1, tictactoe.Emp, tictactoe.Emp}},
			10},
	}
	for _, tc := range testCases {
		t.Run("Evaluate"+tc.description, func(t *testing.T) {
			is.Equal(tc.expected, tc.board.Evaluate())
		})
	}
}