35 lines
639 B
Go
35 lines
639 B
Go
//go:build wtf
|
|
|
|
package runner
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
type ENTestPair struct {
|
|
test string
|
|
result []int
|
|
}
|
|
|
|
var ENTests = []ENTestPair{
|
|
{"123", []int{123}},
|
|
{"abc123abc", []int{123}},
|
|
{"", []int{}},
|
|
{"0", []int{0}},
|
|
{"1a2a3a6", []int{1, 2, 3, 6}},
|
|
}
|
|
|
|
func TestExtractNumbers(t *testing.T) {
|
|
for _, test := range ENTests {
|
|
result := extractNumbers(test.test)
|
|
if len(result) != len(test.result) {
|
|
t.Error("for", test.test, "expected", test.result, "got", result)
|
|
}
|
|
for i := 0; i < len(result); i++ {
|
|
if result[i] != test.result[i] {
|
|
t.Error("for", test.test, "expected", test.result, "got", result)
|
|
}
|
|
}
|
|
}
|
|
}
|