package xx_test import ( "testing" "unsafe" "git.brut.systems/judah/xx" ) func TestNew(t *testing.T) { a := xx.New(uint32(1024)) if *a != 1024 { t.Fail() } if unsafe.Sizeof(*a) != xx.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() } } func TestBitcast(t *testing.T) { a := uint32(0xFFFF_FFFF) b := xx.Bitcast[float32](a) c := xx.Bitcast[uint32](b) if a != c { t.Fail() } d := xx.Bitcast[int8](uint8(0xFF)) if d != -1 { t.Fail() } e := xx.Bitcast[uint8](d) if e != 255 { t.Fail() } }