aboutsummaryrefslogtreecommitdiff
path: root/node_id_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'node_id_test.go')
-rw-r--r--node_id_test.go70
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)
+ }
+}