190416.go
package _90416
import "errors"
func Division(a, b float64) (float64, error) {
if b == 0 {
return 0, errors.New("cannot be divided by 0")
}
return a/b, nil
}
190416_test.go
package _90416
import (
"testing"
"math/rand"
)
func TestDivision(t *testing.T) {
if r, err := Division(6, 3); r != 2 || err != nil {
t.Error("result error")
} else {
t.Log("pass")
}
}
func TestDivision2(t *testing.T) {
if _, err := Division(6, 0); err != nil {
t.Log(err)
} else {
t.Error("result error")
}
}
func BenchmarkDivision(b *testing.B) {
b.StopTimer()
b.StartTimer()
for i :=0; i < b.N; i++ {
x := rand.Intn(10000)+1
y := rand.Intn(10000)+1
Division(float64(x),float64(y))
}
}