github.com/quickfeed/quickfeed@v0.0.0-20240507093252-ed8ca812a09c/testdata/courses/qf104-2022/tests/lab1/sequence/fibonacci_ag_test.go (about)

     1  package sequence
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func init() {
     8  	// Reduce max score by 1 since the first test-case ({0, 0}) always passes, which gave free points.
     9  	scores.Add(TestFibonacciAG, len(fibonacciTestsAG)-1, 5)
    10  }
    11  
    12  var fibonacciTestsAG = []struct {
    13  	in, want uint
    14  }{
    15  	{0, 0},
    16  	{1, 1},
    17  	{2, 1},
    18  	{3, 2},
    19  	{4, 3},
    20  	{5, 5},
    21  	{6, 8},
    22  	{7, 13},
    23  	{8, 21},
    24  	{9, 34},
    25  	{10, 55},
    26  	{12, 144},
    27  	{16, 987},
    28  	{20, 6765},
    29  }
    30  
    31  func TestFibonacciAG(t *testing.T) {
    32  	sc := scores.Max()
    33  	defer sc.Print(t)
    34  
    35  	for _, ft := range fibonacciTestsAG {
    36  		got := fibonacci(ft.in)
    37  		if got != ft.want {
    38  			t.Errorf("fibonacci(%d) = %d, want %d", ft.in, got, ft.want)
    39  			sc.Dec()
    40  		}
    41  	}
    42  }