Skip to content

Instantly share code, notes, and snippets.

@haru01
haru01 / roman.go
Last active May 30, 2017 00:03
step4 V
package roman
func ToRoman(in uint16) string {
numbers := []struct {
arabian uint16
roman string
}{
{1, "I"},
{5, "V"},
}
@haru01
haru01 / roman_test.go
Created May 30, 2017 00:04
step5 2->II
package roman
import "testing"
func TestToRoman(t *testing.T) {
testCases := []struct {
name string
in uint16
want string
}{
@haru01
haru01 / result
Created May 30, 2017 00:04
step5
--- FAIL: TestToRoman (0.00s)
--- FAIL: TestToRoman/2=>IIと変換できること (0.00s)
roman_test.go:38: ToRoman(2) = got _ want II
FAIL
FAIL sandbox/roman 0.006s
Error: Tests failed.
@haru01
haru01 / roman.go
Created May 30, 2017 00:10
step4 没
package roman
func ToRoman(in uint16) string {
numbers := map[uint16]string{
1: "I",
5: "V",
}
return numbers[in]
}
package roman
import "testing"
func TestToRoman(t *testing.T) {
testCases := []struct {
name string
in uint16
want string
}{
@haru01
haru01 / roman_test.go
Created May 31, 2017 00:03
step6 テストリファクタ
func TestToRoman(t *testing.T) {
testCases := []struct {
in uint16
want string
}{
{1, "I"},
{2, "II"},
{5, "V"},
}
for _, test := range testCases {
// roman_test.go
import (
"fmt"
"testing"
)
func TestToRoman(t *testing.T) {
testCases := []struct {
in Arabian
want string
@haru01
haru01 / roman.go
Created May 31, 2017 00:08
step7 returnの書き方のリファクタ
package roman
type Arabian uint16
func (in Arabian) ToRoman() (out string) {
numbers := []struct {
arabian Arabian
roman string
}{
{5, "V"},
@haru01
haru01 / roman.go
Created May 31, 2017 00:14
numberの括りだし
package roman
type Arabian uint16
var numbers = []struct {
arabian Arabian
roman string
}{
{5, "V"},
{1, "I"},
@haru01
haru01 / roman_test.go
Last active May 31, 2017 14:34
first
package roman
import (
"testing"
)
func ToRoman(in int16) string {
return "_"
}