33 lines
893 B
Go
33 lines
893 B
Go
package tiles
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func TestShortToArray(t *testing.T) {
|
|
type testcase struct {
|
|
Name string
|
|
Arg string
|
|
Want []string
|
|
}
|
|
testcases := []testcase{
|
|
{Name: "自创格式", Arg: "12W56T456B1234567Z", Want: []string{"1W", "2W", "5T", "6T", "4B", "5B", "6B", "DO", "XI", "NA", "BE", "ZH", "FA", "BA"}},
|
|
{Name: "日麻格式", Arg: "1134m4p24s123677z6m", Want: []string{"1W", "1W", "3W", "4W", "4B", "2T", "4T", "DO", "NA", "XI", "FA", "ZH", "ZH", "6W"}},
|
|
}
|
|
for _, tc := range testcases {
|
|
t.Run(tc.Name, func(t *testing.T) {
|
|
result, err := shortToArray(tc.Arg)
|
|
if err != nil {
|
|
log.Fatalf("Failed in translating tiles %s , error: %s", tc.Arg, err)
|
|
}
|
|
fmt.Println(result)
|
|
if !reflect.DeepEqual(result, tc.Want) {
|
|
log.Fatalf("Failed in translating tiles %s , expectd: %v, got %v", tc.Arg, tc.Want, result)
|
|
}
|
|
})
|
|
}
|
|
}
|