Files
lancet/pointer/pointer_test.go

79 lines
1.2 KiB
Go

package pointer
import (
"testing"
"github.com/duke-git/lancet/v2/internal"
)
func TestOf(t *testing.T) {
t.Parallel()
assert := internal.NewAssert(t, "TestOf")
result1 := Of(123)
result2 := Of("abc")
assert.Equal(123, *result1)
assert.Equal("abc", *result2)
}
func TestUnwrap(t *testing.T) {
t.Parallel()
assert := internal.NewAssert(t, "TestUnwrap")
a := 123
b := "abc"
assert.Equal(a, Unwrap(&a))
assert.Equal(b, Unwrap(&b))
}
func TestUnwarpOr(t *testing.T) {
t.Parallel()
assert := internal.NewAssert(t, "TestUnwarpOr")
a := 123
b := "abc"
var c *int
var d *string
assert.Equal(a, UnwarpOr(&a, 456))
assert.Equal(b, UnwarpOr(&b, "abc"))
assert.Equal(456, UnwarpOr(c, 456))
assert.Equal("def", UnwarpOr(d, "def"))
}
func TestUnwarpOrDefault(t *testing.T) {
t.Parallel()
assert := internal.NewAssert(t, "TestUnwarpOrDefault")
a := 123
b := "abc"
var c *int
var d *string
assert.Equal(a, UnwarpOrDefault(&a))
assert.Equal(b, UnwarpOrDefault(&b))
assert.Equal(0, UnwarpOrDefault(c))
assert.Equal("", UnwarpOrDefault(d))
}
func TestExtractPointer(t *testing.T) {
t.Parallel()
assert := internal.NewAssert(t, "TestExtractPointer")
a := 1
b := &a
c := &b
d := &c
assert.Equal(1, ExtractPointer(d))
}