Moving go code to subdir.
This commit is contained in:
52
code/functions/functions_test.go
Normal file
52
code/functions/functions_test.go
Normal file
@@ -0,0 +1,52 @@
|
||||
package functions
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
// Test fibonacci function
|
||||
|
||||
func TestFibonacci(t *testing.T) {
|
||||
var sequence = [4]int{1, 3, 5, 9}
|
||||
var values = [4]int{1, 2, 5, 34}
|
||||
for i := 0; i < len(sequence); i++ {
|
||||
var seq, want = sequence[i], values[i]
|
||||
outcome, error := MyFibonacci(seq)
|
||||
if error != nil {
|
||||
t.Errorf("Error trying to Fibonacci %d: %s", seq, error)
|
||||
}
|
||||
if outcome != want {
|
||||
t.Errorf("Invalid outcome: Fibonacci sequence %d should be %d, got %d",
|
||||
seq, want, outcome)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestFibBadNumber(t *testing.T) {
|
||||
outcome,error := MyFibonacci(-4)
|
||||
if error == nil {
|
||||
t.Errorf("This should be an error, not a %d",outcome)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSums(t *testing.T) {
|
||||
var tests = []struct{
|
||||
a, b int
|
||||
want int
|
||||
} {
|
||||
{1, 2, 3},
|
||||
{5, 3, 8},
|
||||
{9, 4, 13},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
testname := fmt.Sprintf("%d+%d",tt.a, tt.b)
|
||||
t.Run(testname, func(t *testing.T) {
|
||||
result := sum(tt.a, tt.b)
|
||||
if result != tt.want {
|
||||
t.Errorf("Expected %d, got %d", tt.want,result)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user