// Code generated by "stringer -type=testStatus -trimprefix=testStatus"; DO NOT EDIT.

package codereview

import "strconv"

func _() {
	// An "invalid array index" compiler error signifies that the constant values have changed.
	// Re-run the stringer command to generate them again.
	var x [1]struct{}
	_ = x[testStatusUnknown-0]
	_ = x[testStatusPass-1]
	_ = x[testStatusFail-2]
	_ = x[testStatusBuildFail-3]
	_ = x[testStatusSkip-4]
	_ = x[testStatusNoTests-5]
}

const _testStatus_name = "UnknownPassFailBuildFailSkipNoTests"

var _testStatus_index = [...]uint8{0, 7, 11, 15, 24, 28, 35}

func (i testStatus) String() string {
	if i < 0 || i >= testStatus(len(_testStatus_index)-1) {
		return "testStatus(" + strconv.FormatInt(int64(i), 10) + ")"
	}
	return _testStatus_name[_testStatus_index[i]:_testStatus_index[i+1]]
}
