From 2fd1af916a333ca2ecaaa01bae2e43b922a4ca2e Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Wed, 27 Jul 2022 20:15:05 +0200 Subject: add logging and tests fo playlist --- playlist_test.go | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 playlist_test.go (limited to 'playlist_test.go') 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() + } +} -- cgit v1.2.3