You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: prompt_test.go
    path of file: ./repos/evans/prompt
    
    the code of the file until where you have to start completion: package prompt

import (
	"io"
	"testing"

	goprompt "github.com/ktr0731/go-prompt"
	"github.com/manifoldco/promptui"
	"github.com/pkg/errors"
)

func TestPrompt_Input(t *testing.T) {
	cases := map[string]str
    
func TestPrompt_Select(t *testing.T) {
	// used for the second testcase.
	var counter int
	_ = counter

	cases := map[string]struct {
		SelectFunc func(message string, options []string) (int, string, error)

		expectedErr error
	}{
		"normal": {
			SelectFunc: func(message string, options []string) (int, string, error) {
				return 0, "an selection", nil
			},
		},
		"returns ErrAbort if prompttui.ErrInterrupt is returned from SelectFunc": {
			SelectFunc: func(message string, options []string) (int, string, error) {
				return 0, "", promptui.ErrInterrupt
			},
			expectedErr: ErrAbort,
		},
		"returns io.EOF if promptui.ErrEOF is returned from SelectFunc": {
			SelectFunc: func(message string, options []string) (int, string, error) {
				return 0, "", promptui.ErrEOF
			},
			expectedErr: io.EOF,
		},
		"returns an error if an error is returned from SelectFunc": {
			SelectFunc: func(message string, options []string) (int, string, error) {
				return 0, "", io.ErrUnexpectedEOF
			},
			expectedErr: io.ErrUnexpectedEOF,
		},
	}

	for name, c := range cases {
		c := c
		t.Run(name, func(t *testing.T) {
			p := newPrompt()
			p.(*prompt).SelectFunc = c.SelectFunc
			_, _, err := p.Select("", []string{"foo", "bar"})
			if c.expectedErr == nil {
				if err != nil {
					t.Fatalf("Input must not return an error, but got nil")
				}
			} else {
				if errors.Cause(err) != c.expectedErr {
					t.Errorf("expected error '%s', but got '%s'", c.expectedErr, err)
				}
				return
			}
		})
	}
}