go test 1

測試函數爲 判斷一組字符串是否爲迴文 Palindrome
要注意,測試函數文件要以_test.go結尾, 裏面的測試函數以Test開頭
並且測試函數的文件要和被測試函數的文件在同一文件夾下面
先寫需要測試的函數
// 在這裏我們編寫Palindrome函數
package ispastring

import "unicode"

func IsPalindrome(str string) bool {
	var stream []rune //中文以及一些字符需要轉換成rune格式
	for _, v := range str {
		if unicode.IsLetter(v) {
			stream = append(stream, unicode.ToLower(r))
		}
	}
	for i := range stream {
		if stream[i] != stream[len(stream)-1-i] {
			return false
		} 
	}
	return 1 == 1
}
pa_test.go
package ispastring
import "testing"

func TestStream(t *testing.T) {
//後面的測試可以直接在列表中添加數據, 避免重複編寫函數產生冗餘
	var stream = []struct{
		input string
		tf bool
	} {
		{"string",false},
		{"上海自來水來自海上", true},
		{"a n A", true},
	}
	for _, v:=  range stream {
		if get := IsPalindrome(v.input); get != v.tf {
			t.Errorf("IsPalindrome(%q) = false", v.input)
		}
	}
}
結果如下
 go test -v
=== RUN   TestStream
--- PASS: TestStream (0.00s)
PASS
ok      gocode/test21   0.238s

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章