add some basic tracker tests

This commit is contained in:
Joel Wetzell
2026-08-28 10:01:32 -05:00
parent 550aaddd2f
commit 237943431d
+205
View File
@@ -0,0 +1,205 @@
package psn_test
import (
"testing"
"github.com/jwetzell/psn-go"
)
func TestTrackerSetPosNilPos(t *testing.T) {
tracker := &psn.Tracker{}
tracker.SetPos(1.0, 2.0, 3.0)
if tracker.Pos == nil {
t.Errorf("Expected Pos to be initialized, but it is nil")
} else {
if tracker.Pos.X != 1.0 || tracker.Pos.Y != 2.0 || tracker.Pos.Z != 3.0 {
t.Errorf("Expected Pos to be (1.0, 2.0, 3.0), but got (%f, %f, %f)", tracker.Pos.X, tracker.Pos.Y, tracker.Pos.Z)
}
}
}
func TestTrackerSetPosNonNilPos(t *testing.T) {
tracker := &psn.Tracker{
Pos: &psn.XYZData{X: 0.0, Y: 0.0, Z: 0.0},
}
tracker.SetPos(4.0, 5.0, 6.0)
if tracker.Pos == nil {
t.Errorf("Expected Pos to be initialized, but it is nil")
} else {
if tracker.Pos.X != 4.0 || tracker.Pos.Y != 5.0 || tracker.Pos.Z != 6.0 {
t.Errorf("Expected Pos to be (4.0, 5.0, 6.0), but got (%f, %f, %f)", tracker.Pos.X, tracker.Pos.Y, tracker.Pos.Z)
}
}
}
func TestTrackerSetSpeedNilSpeed(t *testing.T) {
tracker := &psn.Tracker{}
tracker.SetSpeed(1.0, 2.0, 3.0)
if tracker.Speed == nil {
t.Errorf("Expected Speed to be initialized, but it is nil")
} else {
if tracker.Speed.X != 1.0 || tracker.Speed.Y != 2.0 || tracker.Speed.Z != 3.0 {
t.Errorf("Expected Speed to be (1.0, 2.0, 3.0), but got (%f, %f, %f)", tracker.Speed.X, tracker.Speed.Y, tracker.Speed.Z)
}
}
}
func TestTrackerSetSpeedNonNilSpeed(t *testing.T) {
tracker := &psn.Tracker{
Speed: &psn.XYZData{X: 0.0, Y: 0.0, Z: 0.0},
}
tracker.SetSpeed(4.0, 5.0, 6.0)
if tracker.Speed == nil {
t.Errorf("Expected Speed to be initialized, but it is nil")
} else {
if tracker.Speed.X != 4.0 || tracker.Speed.Y != 5.0 || tracker.Speed.Z != 6.0 {
t.Errorf("Expected Speed to be (4.0, 5.0, 6.0), but got (%f, %f, %f)", tracker.Speed.X, tracker.Speed.Y, tracker.Speed.Z)
}
}
}
func TestTrackerSetOriNilOri(t *testing.T) {
tracker := &psn.Tracker{}
tracker.SetOri(1.0, 2.0, 3.0)
if tracker.Ori == nil {
t.Errorf("Expected Ori to be initialized, but it is nil")
} else {
if tracker.Ori.X != 1.0 || tracker.Ori.Y != 2.0 || tracker.Ori.Z != 3.0 {
t.Errorf("Expected Ori to be (1.0, 2.0, 3.0), but got (%f, %f, %f)", tracker.Ori.X, tracker.Ori.Y, tracker.Ori.Z)
}
}
}
func TestTrackerSetOriNonNilOri(t *testing.T) {
tracker := &psn.Tracker{
Ori: &psn.XYZData{X: 0.0, Y: 0.0, Z: 0.0},
}
tracker.SetOri(4.0, 5.0, 6.0)
if tracker.Ori == nil {
t.Errorf("Expected Ori to be initialized, but it is nil")
} else {
if tracker.Ori.X != 4.0 || tracker.Ori.Y != 5.0 || tracker.Ori.Z != 6.0 {
t.Errorf("Expected Ori to be (4.0, 5.0, 6.0), but got (%f, %f, %f)", tracker.Ori.X, tracker.Ori.Y, tracker.Ori.Z)
}
}
}
func TestTrackerSetStatusNilStatus(t *testing.T) {
tracker := &psn.Tracker{}
tracker.SetStatus(0.75)
if tracker.Validity == nil {
t.Errorf("Expected Validity to be initialized, but it is nil")
} else {
if *tracker.Validity != 0.75 {
t.Errorf("Expected Validity to be 0.75, but got %f", *tracker.Validity)
}
}
}
func TestTrackerSetStatusNonNilStatus(t *testing.T) {
tracker := &psn.Tracker{
Validity: new(float32),
}
*tracker.Validity = 0.5
tracker.SetStatus(0.85)
if tracker.Validity == nil {
t.Errorf("Expected Validity to be initialized, but it is nil")
} else {
if *tracker.Validity != 0.85 {
t.Errorf("Expected Validity to be 0.85, but got %f", *tracker.Validity)
}
}
}
func TestTrackerSetAccelNilAccel(t *testing.T) {
tracker := &psn.Tracker{}
tracker.SetAccel(1.0, 2.0, 3.0)
if tracker.Accel == nil {
t.Errorf("Expected Accel to be initialized, but it is nil")
} else {
if tracker.Accel.X != 1.0 || tracker.Accel.Y != 2.0 || tracker.Accel.Z != 3.0 {
t.Errorf("Expected Accel to be (1.0, 2.0, 3.0), but got (%f, %f, %f)", tracker.Accel.X, tracker.Accel.Y, tracker.Accel.Z)
}
}
}
func TestTrackerSetAccelNonNilAccel(t *testing.T) {
tracker := &psn.Tracker{
Accel: &psn.XYZData{X: 0.0, Y: 0.0, Z: 0.0},
}
tracker.SetAccel(4.0, 5.0, 6.0)
if tracker.Accel == nil {
t.Errorf("Expected Accel to be initialized, but it is nil")
} else {
if tracker.Accel.X != 4.0 || tracker.Accel.Y != 5.0 || tracker.Accel.Z != 6.0 {
t.Errorf("Expected Accel to be (4.0, 5.0, 6.0), but got (%f, %f, %f)", tracker.Accel.X, tracker.Accel.Y, tracker.Accel.Z)
}
}
}
func TestTrackerSetTrgtPosNilTrgtPos(t *testing.T) {
tracker := &psn.Tracker{}
tracker.SetTrgtPos(1.0, 2.0, 3.0)
if tracker.TrgtPos == nil {
t.Errorf("Expected TrgtPos to be initialized, but it is nil")
} else {
if tracker.TrgtPos.X != 1.0 || tracker.TrgtPos.Y != 2.0 || tracker.TrgtPos.Z != 3.0 {
t.Errorf("Expected TrgtPos to be (1.0, 2.0, 3.0), but got (%f, %f, %f)", tracker.TrgtPos.X, tracker.TrgtPos.Y, tracker.TrgtPos.Z)
}
}
}
func TestTrackerSetTrgtPosNonNilTrgtPos(t *testing.T) {
tracker := &psn.Tracker{
TrgtPos: &psn.XYZData{X: 0.0, Y: 0.0, Z: 0.0},
}
tracker.SetTrgtPos(4.0, 5.0, 6.0)
if tracker.TrgtPos == nil {
t.Errorf("Expected TrgtPos to be initialized, but it is nil")
} else {
if tracker.TrgtPos.X != 4.0 || tracker.TrgtPos.Y != 5.0 || tracker.TrgtPos.Z != 6.0 {
t.Errorf("Expected TrgtPos to be (4.0, 5.0, 6.0), but got (%f, %f, %f)", tracker.TrgtPos.X, tracker.TrgtPos.Y, tracker.TrgtPos.Z)
}
}
}
func TestTrackerSetTimestampNilTimestamp(t *testing.T) {
tracker := &psn.Tracker{}
tracker.SetTimestamp(1)
if tracker.Timestamp == nil {
t.Errorf("Expected Timestamp to be initialized, but it is nil")
} else {
if *tracker.Timestamp != 1 {
t.Errorf("Expected Timestamp to be 1, but got %d", *tracker.Timestamp)
}
}
}
func TestTrackerSetTimestampNonNilTimestamp(t *testing.T) {
tracker := &psn.Tracker{
Timestamp: new(uint64),
}
*tracker.Timestamp = 5
tracker.SetTimestamp(8)
if tracker.Timestamp == nil {
t.Errorf("Expected Timestamp to be initialized, but it is nil")
} else {
if *tracker.Timestamp != 8 {
t.Errorf("Expected Timestamp to be 8, but got %d", *tracker.Timestamp)
}
}
}