30 lines
578 B
Go
30 lines
578 B
Go
package utils
|
|
|
|
import (
|
|
"os"
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func testType[T any]( t *testing.T, name string, fallback T ) T {
|
|
got := TryGetEnv( "ABC", fallback )
|
|
a := reflect.TypeOf( got ).Kind()
|
|
b := reflect.TypeOf( fallback ).Kind()
|
|
if a != b {
|
|
t.Errorf( "%s is not of type %s", any( got ), b )
|
|
}
|
|
return got
|
|
}
|
|
|
|
func TestAll(t *testing.T) {
|
|
testType( t, "ABC", "Test" )
|
|
testType( t, "ABC", 11 )
|
|
|
|
os.Setenv( "ABC", "22" )
|
|
got := testType( t, "ABC", 11 )
|
|
if got != 22 {
|
|
t.Errorf( "Expected 22, got %d", got )
|
|
}
|
|
}
|
|
|