aboutsummaryrefslogtreecommitdiff
path: root/playlist_test.go
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2022-07-27 20:15:05 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2022-07-27 20:15:05 +0200
commit2fd1af916a333ca2ecaaa01bae2e43b922a4ca2e (patch)
treed8193bf533dff493b1ae3f6b5615957603b47c69 /playlist_test.go
parent84ff772ee1642c4f139605fc1a2716ce49f4b015 (diff)
downloadWRMS-2fd1af916a333ca2ecaaa01bae2e43b922a4ca2e.tar.gz
WRMS-2fd1af916a333ca2ecaaa01bae2e43b922a4ca2e.zip
add logging and tests fo playlist
Diffstat (limited to 'playlist_test.go')
-rw-r--r--playlist_test.go89
1 files changed, 89 insertions, 0 deletions
diff --git a/playlist_test.go b/playlist_test.go
new file mode 100644
index 0000000..2fcb6b6
--- /dev/null
+++ b/playlist_test.go
@@ -0,0 +1,89 @@
+package main
+
+import "testing"
+
+func TestAdd(t *testing.T) {
+ var pl Playlist
+ s := NewDummySong("Foo", "Bar")
+ pl.Add(&s)
+ if len(pl) != 1 {
+ t.Log("len should be 1")
+ t.Fail()
+ }
+}
+
+func TestAddPop(t *testing.T) {
+ var pl Playlist
+ s := NewDummySong("Foo", "Bar")
+ pl.Add(&s)
+ if len(pl) != 1 {
+ t.Log("len should be 1")
+ t.Fail()
+ }
+
+ ps := pl.PopSong()
+ if len(pl) != 0 {
+ t.Log("len should be 0")
+ t.Fail()
+ }
+
+ if ps != &s {
+ t.Log("the popped ptr should match the one added")
+ t.Fail()
+ }
+}
+
+func TestAddPopTwice(t *testing.T) {
+ var pl Playlist
+ s1 := NewDummySong("Foo", "Bar")
+ s2 := NewDummySong("Nasen", "Baer")
+ pl.Add(&s1)
+ pl.Add(&s2)
+ if len(pl) != 2 {
+ t.Log("len should be 2")
+ t.Fail()
+ }
+
+ ps1 := pl.PopSong()
+ ps2 := pl.PopSong()
+ if len(pl) != 0 {
+ t.Log("len should be 0")
+ t.Fail()
+ }
+
+ if ps1 != &s1 {
+ t.Log("the popped ptr should match the one added")
+ t.Fail()
+ }
+
+ if ps2 != &s2 {
+ t.Log("the popped ptr should match the one added")
+ t.Fail()
+ }
+}
+
+func TestAdd2AdjustPop(t *testing.T) {
+ var pl Playlist
+ s1 := NewDummySong("Foo", "Bar")
+ s2 := NewDummySong("Nasen", "Baer")
+ pl.Add(&s1)
+ pl.Add(&s2)
+ if len(pl) != 2 {
+ t.Log("len should be 2")
+ t.Fail()
+ }
+
+ s2.Weight += 1
+ pl.Adjust(&s2)
+
+ ps := pl.PopSong()
+ if len(pl) != 1 {
+ t.Log("len should be 1")
+ t.Fail()
+ }
+
+ if ps != &s2 {
+ t.Log("the popped ptr should match the one adjusted")
+ t.Fail()
+ }
+}