mirror of
https://github.com/cubixle/codekata-golang.git
synced 2026-04-24 22:44:44 +01:00
64 lines
959 B
Go
64 lines
959 B
Go
package main
|
|
|
|
import (
|
|
"reflect"
|
|
"sort"
|
|
"testing"
|
|
)
|
|
|
|
func Test_process(t *testing.T) {
|
|
type args struct {
|
|
n int
|
|
}
|
|
tests := []struct {
|
|
name string
|
|
args args
|
|
want []string
|
|
}{
|
|
{
|
|
"test1",
|
|
args{
|
|
n: 2,
|
|
},
|
|
[]string{"1/2"},
|
|
},
|
|
{
|
|
"test2",
|
|
args{
|
|
n: 3,
|
|
},
|
|
[]string{"1/2", "1/3", "2/3"},
|
|
},
|
|
{
|
|
"test3",
|
|
args{
|
|
n: 4,
|
|
},
|
|
[]string{"1/2", "1/3", "1/4", "2/3", "3/4"},
|
|
},
|
|
{
|
|
"test4",
|
|
args{
|
|
n: 1,
|
|
},
|
|
nil,
|
|
},
|
|
{
|
|
"test5",
|
|
args{
|
|
n: 9,
|
|
},
|
|
[]string{"1/2", "1/3", "1/4", "1/5", "1/6", "1/7", "1/8", "1/9", "2/3", "2/5", "2/7", "2/9", "3/4", "3/5", "3/7", "3/8", "4/5", "4/7", "4/9", "5/6", "5/7", "5/8", "5/9", "6/7", "7/8", "7/9", "8/9"},
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
got := process(tt.args.n)
|
|
sort.Strings(got)
|
|
if !reflect.DeepEqual(got, tt.want) {
|
|
t.Errorf("process() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|