print_test.go 933 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package api
  2. import (
  3. "testing"
  4. )
  5. func TestFib(t *testing.T) {
  6. var (
  7. in = 7
  8. expected = 13
  9. )
  10. actual := Fib(in)
  11. if actual != expected {
  12. t.Errorf("-----")
  13. }
  14. t.Logf("%s", "sucess")
  15. }
  16. func Fib(n int) int {
  17. if n < 2 {
  18. return n
  19. }
  20. return Fib(n-1) + Fib(n-2)
  21. }
  22. // func BenchmarkHello(b *testing.B) {
  23. // for i := 0; 1 < b.N; i++ {
  24. // fmt.Sprintf("hello")
  25. // }
  26. // }
  27. // func BenchmarkFib10(b *testing.B) {
  28. // for n := 0; n < b.N; n++ {
  29. // Fib(10)
  30. // }
  31. // }
  32. func BenchmarkFib1(b *testing.B) {
  33. benchmarkFib(1, b)
  34. }
  35. func BenchmarkFib2(b *testing.B) {
  36. benchmarkFib(2, b)
  37. }
  38. func BenchmarkFib3(b *testing.B) {
  39. benchmarkFib(3, b)
  40. }
  41. func BenchmarkFib10(b *testing.B) {
  42. benchmarkFib(10, b)
  43. }
  44. func BenchmarkFib20(b *testing.B) {
  45. benchmarkFib(20, b)
  46. }
  47. func BenchmarkFib40(b *testing.B) {
  48. benchmarkFib(40, b)
  49. }
  50. func benchmarkFib(i int, b *testing.B) {
  51. b.ReportAllocs()
  52. for n := 0; n < b.N; n++ {
  53. Fib(i)
  54. }
  55. }