From 1ba337691e6afd21935dfc53798c0fb1fd6d4f25 Mon Sep 17 00:00:00 2001 From: Manuel Raimo Date: Sat, 16 Nov 2024 01:33:21 +0100 Subject: [PATCH] test: initial queue test --- queue/queue_test.go | 71 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 queue/queue_test.go diff --git a/queue/queue_test.go b/queue/queue_test.go new file mode 100644 index 0000000..ed52272 --- /dev/null +++ b/queue/queue_test.go @@ -0,0 +1,71 @@ +package queue + +import "testing" + +func TestQueue_NewQueue(t *testing.T) { + q := NewQueue() + + if &q == nil { + t.Error("Expected a new queue, got nil") + } +} + +func TestQueue_IsEmpty(t *testing.T) { + q := NewQueue() + + if !q.IsEmpty() { + t.Error("Expected an empty queue, got a non-empty queue") + } +} + +func TestQueue_AddElements(t *testing.T) { + q := NewQueue() + + q.AddElements(Element{ID: "1"}, Element{ID: "2"}, Element{ID: "3"}) + + if q.IsEmpty() { + t.Error("Expected a non-empty queue, got an empty queue") + } + + if len(q.Queue) != 3 { + t.Error("Expected 3, got", len(q.Queue)) + } +} + +func TestQueue_GetFirstElement(t *testing.T) { + q := NewQueue() + + if q.GetFirstElement() != nil { + t.Error("Expected nil, got an element") + } + + q.AddElements(Element{ID: "1"}, Element{ID: "2"}, Element{ID: "3"}) + + if q.GetFirstElement().ID != "1" { + t.Error("Expected 1, got", q.GetFirstElement().ID) + } +} + +func TestQueue_AddElementsPriority(t *testing.T) { + q := NewQueue() + + q.AddElements(Element{ID: "1"}, Element{ID: "2"}, Element{ID: "3"}) + + q.AddElementsPriority(Element{ID: "4"}) + + if q.GetFirstElement().ID == "4" { + t.Error("Expected 4, got", q.GetFirstElement().ID) + } +} + +func TestQueue_RemoveFirstElement(t *testing.T) { + q := NewQueue() + + q.AddElements(Element{ID: "1"}, Element{ID: "2"}, Element{ID: "3"}) + + q.RemoveFirstElement() + + if q.GetFirstElement().ID != "2" { + t.Error("Expected 2, got", q.GetFirstElement().ID) + } +}