45 lines
552 B
Go
45 lines
552 B
Go
package xx_test
|
|
|
|
import (
|
|
"testing"
|
|
"unsafe"
|
|
|
|
"git.brut.systems/judah/xx"
|
|
"git.brut.systems/judah/xx/mem"
|
|
)
|
|
|
|
func TestNew(t *testing.T) {
|
|
a := xx.New(uint32(1024))
|
|
if *a != 1024 {
|
|
t.Fail()
|
|
}
|
|
|
|
if unsafe.Sizeof(*a) != mem.SizeOf[uint32]() {
|
|
t.Fail()
|
|
}
|
|
|
|
b := xx.New(struct{ x, y, z float32 }{10, 20, 30})
|
|
if b.x != 10 {
|
|
t.Fail()
|
|
}
|
|
if b.y != 20 {
|
|
t.Fail()
|
|
}
|
|
if b.z != 30 {
|
|
t.Fail()
|
|
}
|
|
|
|
c := xx.New(b)
|
|
if c == &b {
|
|
t.Fail()
|
|
}
|
|
if (*c).x != 10 {
|
|
t.Fail()
|
|
}
|
|
if (*c).y != 20 {
|
|
t.Fail()
|
|
}
|
|
if (*c).z != 30 {
|
|
t.Fail()
|
|
}
|
|
}
|