mirror of
https://github.com/cubixle/codekata-golang.git
synced 2026-04-24 19:54:43 +01:00
44 lines
764 B
Go
44 lines
764 B
Go
package main
|
|
|
|
import "testing"
|
|
|
|
func IntToString(n int) string {
|
|
ret := make([]rune, 0)
|
|
for n > 0 {
|
|
num := n % 10
|
|
ret = append(ret, '0'+rune(num))
|
|
n /= 10
|
|
}
|
|
return ReverseString(ret)
|
|
}
|
|
|
|
func ReverseString(input []rune) string {
|
|
l := len(input)
|
|
for i := 0; i < l/2; i++ {
|
|
input[i], input[l-i-1] = input[l-i-1], input[i]
|
|
}
|
|
return string(input)
|
|
}
|
|
|
|
func TestIntToString(t *testing.T) {
|
|
tt := []struct {
|
|
name string
|
|
input int
|
|
want string
|
|
}{
|
|
{"1", 1, "1"},
|
|
{"11", 11, "11"},
|
|
{"112", 112, "112"},
|
|
{"1123789", 1123789, "1123789"},
|
|
}
|
|
|
|
for _, tc := range tt {
|
|
t.Run(tc.name, func(t *testing.T) {
|
|
got := IntToString(tc.input)
|
|
if got != tc.want {
|
|
t.Errorf("IntToString(%d) = %s, want %s", tc.input, got, tc.want)
|
|
}
|
|
})
|
|
}
|
|
}
|