package api import ( "testing" ) func TestFib(t *testing.T) { var ( in = 7 expected = 13 ) actual := Fib(in) if actual != expected { t.Errorf("-----") } t.Logf("%s", "sucess") } func Fib(n int) int { if n < 2 { return n } return Fib(n-1) + Fib(n-2) } // func BenchmarkHello(b *testing.B) { // for i := 0; 1 < b.N; i++ { // fmt.Sprintf("hello") // } // } // func BenchmarkFib10(b *testing.B) { // for n := 0; n < b.N; n++ { // Fib(10) // } // } func BenchmarkFib1(b *testing.B) { benchmarkFib(1, b) } func BenchmarkFib2(b *testing.B) { benchmarkFib(2, b) } func BenchmarkFib3(b *testing.B) { benchmarkFib(3, b) } func BenchmarkFib10(b *testing.B) { benchmarkFib(10, b) } func BenchmarkFib20(b *testing.B) { benchmarkFib(20, b) } func BenchmarkFib40(b *testing.B) { benchmarkFib(40, b) } func benchmarkFib(i int, b *testing.B) { b.ReportAllocs() for n := 0; n < b.N; n++ { Fib(i) } }