diff options
Diffstat (limited to 'node_id_test.go')
| -rw-r--r-- | node_id_test.go | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/node_id_test.go b/node_id_test.go new file mode 100644 index 0000000..58f367a --- /dev/null +++ b/node_id_test.go @@ -0,0 +1,70 @@ +package meshtastic + +import ( + "bytes" + "testing" +) + +const testNodeID = 3735928559 + +func TestNodeID_Uint32(t *testing.T) { + nodeID := NodeID(testNodeID) + got := nodeID.Uint32() + if got != testNodeID { + t.Errorf("expected %v, got %v", testNodeID, got) + } +} + +func TestNodeID_Bytes(t *testing.T) { + nodeID := NodeID(testNodeID) + want := []byte{0xde, 0xad, 0xbe, 0xef} + got := nodeID.Bytes() + if !bytes.Equal(got, want) { + t.Errorf("expected %v, got %v", want, got) + } +} + +func TestNodeID_String(t *testing.T) { + nodeID := NodeID(testNodeID) + want := "!deadbeef" + got := nodeID.String() + if want != got { + t.Errorf("expected %v, got %v", want, got) + } +} + +func TestNodeID_DefaultShortName(t *testing.T) { + nodeID := NodeID(testNodeID) + want := "beef" + got := nodeID.DefaultShortName() + if want != got { + t.Errorf("expected %v, got %v", want, got) + } +} + +func TestNodeID_DefaultLongName(t *testing.T) { + nodeID := NodeID(testNodeID) + want := "Meshtastic beef" + got := nodeID.DefaultLongName() + if want != got { + t.Errorf("expected %v, got %v", want, got) + } +} + +// TestRandomNodeID ensures that RandomNodeID generates a valid NodeID and that multiple calls generate different +// NodeIDs. +func TestRandomNodeID(t *testing.T) { + nodeID1, err := RandomNodeID() + if err != nil { + t.Errorf("expected no error when generating the first node id, got %v", err) + } + t.Logf("nodeID1: %s", nodeID1) + nodeID2, err := RandomNodeID() + if err != nil { + t.Errorf("expected no error when generating the second node id, got %v", err) + } + t.Logf("nodeID2: %s", nodeID2) + if nodeID1 == nodeID2 { + t.Errorf("expected random node ids to be different, got %s and %s", nodeID1, nodeID2) + } +} |
