diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2023-07-01 18:54:52 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2023-07-01 18:54:52 +0200 |
| commit | d491f136b40b9bff6ec0ff1e0a4f26cf855a9ffc (patch) | |
| tree | e7fa41adc1a7aeb940095c1151958e74b254034a /wrms_test.go | |
| parent | a95fc844baf1f96510d59ba77a05755cd24fb777 (diff) | |
| download | WRMS-d491f136b40b9bff6ec0ff1e0a4f26cf855a9ffc.tar.gz WRMS-d491f136b40b9bff6ec0ff1e0a4f26cf855a9ffc.zip | |
add simple wrms test
Diffstat (limited to 'wrms_test.go')
| -rw-r--r-- | wrms_test.go | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/wrms_test.go b/wrms_test.go new file mode 100644 index 0000000..edb174f --- /dev/null +++ b/wrms_test.go @@ -0,0 +1,85 @@ +package main + +import ( + "github.com/google/uuid" + "io" + "muhq.space/go/wrms/llog" + "testing" +) + +type mockPlayer struct{} + +func (p *mockPlayer) Play(*Song) {} +func (p *mockPlayer) PlayUri(string) {} +func (p *mockPlayer) PlayData(io.Reader) {} +func (p *mockPlayer) Search(pattern string) (res chan []Song) { return } +func (p *mockPlayer) Playing() bool { return false } +func (p *mockPlayer) Pause() {} +func (p *mockPlayer) Continue() {} +func (p *mockPlayer) Stop() {} + +var alice, _ = uuid.NewRandom() + +func TestWrmsAdd(t *testing.T) { + wrms := Wrms{Player: &mockPlayer{}} + s1 := NewDummySong("song1", "snfmt") + wrms.AddSong(s1) + + if len(wrms.queue) != 1 { + t.Log("len should be 1") + t.Fail() + } +} + +func TestWrmsAdjust(t *testing.T) { + wrms := Wrms{Player: &mockPlayer{}} + s1 := NewDummySong("song1", "snfmt") + wrms.AddSong(s1) + + wrms.AdjustSongWeight(alice, s1.Uri, "up") + if wrms.queue[0].Weight != 1 { + t.Log("song weight should be 1") + t.Fail() + } +} + +func TestWrmsUpDownNext(t *testing.T) { + wrms := Wrms{Player: &mockPlayer{}} + s1 := NewDummySong("song1", "snfmt") + s2 := NewDummySong("song2", "snfmt") + wrms.AddSong(s1) + wrms.AddSong(s2) + + wrms.AdjustSongWeight(alice, s1.Uri, "down") + wrms.AdjustSongWeight(alice, s2.Uri, "up") + wrms.Next() + if wrms.CurrentSong.Load().Uri != s2.Uri { + t.Log("Not retrning the upvoted song s2") + t.Fail() + } +} + +func TestWrmsUpUpDownNextNext(t *testing.T) { + wrms := Wrms{Player: &mockPlayer{}} + s1 := NewDummySong("song1", "snfmt") + s2 := NewDummySong("song2", "snfmt") + s3 := NewDummySong("song3", "snfmt") + wrms.AddSong(s1) + wrms.AddSong(s2) + wrms.AddSong(s3) + + llog.Info("UpUpDown test") + wrms.AdjustSongWeight(alice, s1.Uri, "up") + wrms.AdjustSongWeight(alice, s2.Uri, "down") + wrms.AdjustSongWeight(alice, s3.Uri, "up") + wrms.Next() + if wrms.CurrentSong.Load().Uri == s2.Uri { + t.Log("Playing the downvoted song s2") + t.Fail() + } + wrms.Next() + if wrms.CurrentSong.Load().Uri == s2.Uri { + t.Log("Playing the downvoted song s2") + t.Fail() + } +} |
