chore: add various tests

This commit is contained in:
2025-12-13 14:04:32 -05:00
parent bc076a4f44
commit 8fd2aeb6a2
7 changed files with 226 additions and 7 deletions

73
pkg/ptr/ptr_test.go Normal file
View File

@@ -0,0 +1,73 @@
package ptr
import (
"testing"
)
func TestOf(t *testing.T) {
// Test with different types
intVal := 42
intPtr := Of(intVal)
if *intPtr != intVal {
t.Errorf("Expected %d, got %d", intVal, *intPtr)
}
stringVal := "hello"
stringPtr := Of(stringVal)
if *stringPtr != stringVal {
t.Errorf("Expected %s, got %s", stringVal, *stringPtr)
}
floatVal := 3.14
floatPtr := Of(floatVal)
if *floatPtr != floatVal {
t.Errorf("Expected %f, got %f", floatVal, *floatPtr)
}
}
func TestDeref(t *testing.T) {
// Test with non-nil pointer
intVal := 42
intPtr := Of(intVal)
result := Deref(intPtr)
if result != intVal {
t.Errorf("Expected %d, got %d", intVal, result)
}
// Test with nil pointer
var nilPtr *int
result = Deref(nilPtr)
if result != 0 {
t.Errorf("Expected 0, got %d", result)
}
// Test with string
stringVal := "hello"
stringPtr := Of(stringVal)
resultStr := Deref(stringPtr)
if resultStr != stringVal {
t.Errorf("Expected %s, got %s", stringVal, resultStr)
}
// Test with nil string pointer
var nilStrPtr *string
resultStr = Deref(nilStrPtr)
if resultStr != "" {
t.Errorf("Expected empty string, got %s", resultStr)
}
}
func TestDerefZeroValue(t *testing.T) {
// Test that Deref returns zero value for nil pointers
var nilInt *int
result := Deref(nilInt)
if result != 0 {
t.Errorf("Expected zero int, got %d", result)
}
var nilString *string
resultStr := Deref(nilString)
if resultStr != "" {
t.Errorf("Expected zero string, got %s", resultStr)
}
}