Added more playlist tests.
This commit is contained in:
@@ -8,6 +8,32 @@ namespace Harmonia.Tests;
|
|||||||
|
|
||||||
public class PlaylistTests
|
public class PlaylistTests
|
||||||
{
|
{
|
||||||
|
[Fact]
|
||||||
|
public void Create_Playlist()
|
||||||
|
{
|
||||||
|
Playlist playlist = new();
|
||||||
|
playlist.Name.ShouldBeNull();
|
||||||
|
playlist.Songs.ShouldBeEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void Create_Playlist_With_Name()
|
||||||
|
{
|
||||||
|
Playlist playlist = new("My Playlist");
|
||||||
|
playlist.Name.ShouldBe("My Playlist");
|
||||||
|
playlist.Songs.ShouldBeEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void Set_Playlist_Name()
|
||||||
|
{
|
||||||
|
Playlist playlist = new();
|
||||||
|
playlist.Name.ShouldBeNull();
|
||||||
|
|
||||||
|
playlist.SetName("My Playlist");
|
||||||
|
playlist.Name.ShouldBe("My Playlist");
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void Add_Songs()
|
public void Add_Songs()
|
||||||
{
|
{
|
||||||
@@ -37,6 +63,70 @@ public class PlaylistTests
|
|||||||
playlist.Songs[1].Song.FileName.ShouldBe("Song5.mp3");
|
playlist.Songs[1].Song.FileName.ShouldBe("Song5.mp3");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void Move_Songs()
|
||||||
|
{
|
||||||
|
Playlist playlist = new();
|
||||||
|
|
||||||
|
Song[] songs =
|
||||||
|
[
|
||||||
|
new Song() { FileName = "Song1.mp3" },
|
||||||
|
new Song() { FileName = "Song2.mp3" },
|
||||||
|
new Song() { FileName = "Song3.mp3" },
|
||||||
|
new Song() { FileName = "Song4.mp3" },
|
||||||
|
new Song() { FileName = "Song5.mp3" },
|
||||||
|
];
|
||||||
|
|
||||||
|
playlist.AddSongs(songs);
|
||||||
|
|
||||||
|
playlist.MoveSong(2, 3);
|
||||||
|
|
||||||
|
string[] expectedFileNames =
|
||||||
|
[
|
||||||
|
"Song1.mp3",
|
||||||
|
"Song2.mp3",
|
||||||
|
"Song4.mp3",
|
||||||
|
"Song3.mp3",
|
||||||
|
"Song5.mp3"
|
||||||
|
];
|
||||||
|
|
||||||
|
playlist.Songs.Select(x => x.Song.FileName).ToArray()
|
||||||
|
.ShouldBeEquivalentTo(expectedFileNames);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void Remove_Duplicate_Songs()
|
||||||
|
{
|
||||||
|
Playlist playlist = new();
|
||||||
|
|
||||||
|
Song[] songs =
|
||||||
|
[
|
||||||
|
new Song() { FileName = "Song1.mp3" },
|
||||||
|
new Song() { FileName = "Song2.mp3" },
|
||||||
|
new Song() { FileName = "Song3.mp3" },
|
||||||
|
new Song() { FileName = "Song4.mp3" },
|
||||||
|
new Song() { FileName = "Song5.mp3" },
|
||||||
|
new Song() { FileName = "Song2.mp3" },
|
||||||
|
new Song() { FileName = "Song3.mp3" },
|
||||||
|
];
|
||||||
|
|
||||||
|
playlist.AddSongs(songs);
|
||||||
|
|
||||||
|
playlist.RemoveDuplicateSongs();
|
||||||
|
|
||||||
|
string[] expectedFileNames =
|
||||||
|
[
|
||||||
|
"Song1.mp3",
|
||||||
|
"Song2.mp3",
|
||||||
|
"Song3.mp3",
|
||||||
|
"Song4.mp3",
|
||||||
|
"Song5.mp3"
|
||||||
|
];
|
||||||
|
|
||||||
|
playlist.Songs.Select(x => x.Song.FileName).ToArray()
|
||||||
|
.ShouldBeEquivalentTo(expectedFileNames);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void Sort_Songs()
|
public void Sort_Songs()
|
||||||
{
|
{
|
||||||
@@ -74,6 +164,34 @@ public class PlaylistTests
|
|||||||
.ShouldBeEquivalentTo(expectedSortedFileNames);
|
.ShouldBeEquivalentTo(expectedSortedFileNames);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void Reverse_Songs()
|
||||||
|
{
|
||||||
|
Playlist playlist = new();
|
||||||
|
|
||||||
|
Song[] songs =
|
||||||
|
[
|
||||||
|
new Song() { FileName = "Song1.mp3" },
|
||||||
|
new Song() { FileName = "Song2.mp3" },
|
||||||
|
new Song() { FileName = "Song3.mp3" }
|
||||||
|
];
|
||||||
|
|
||||||
|
playlist.AddSongs(songs);
|
||||||
|
|
||||||
|
PlaylistSong[] playlistSongs = [.. playlist.Songs];
|
||||||
|
|
||||||
|
playlist.Reverse(playlistSongs);
|
||||||
|
|
||||||
|
string[] expectedReversedFileNames =
|
||||||
|
[
|
||||||
|
"Song3.mp3",
|
||||||
|
"Song2.mp3",
|
||||||
|
"Song1.mp3"
|
||||||
|
];
|
||||||
|
playlist.Songs.Select(x => x.Song.FileName).ToArray()
|
||||||
|
.ShouldBeEquivalentTo(expectedReversedFileNames);
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void Remove_Songs()
|
public void Remove_Songs()
|
||||||
{
|
{
|
||||||
@@ -101,7 +219,7 @@ public class PlaylistTests
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void Lock_Playlist()
|
public void Lock_And_Unlock_Playlist()
|
||||||
{
|
{
|
||||||
Playlist playlist = new();
|
Playlist playlist = new();
|
||||||
|
|
||||||
@@ -114,8 +232,12 @@ public class PlaylistTests
|
|||||||
|
|
||||||
playlist.AddSongs(songs);
|
playlist.AddSongs(songs);
|
||||||
|
|
||||||
|
playlist.IsLocked.ShouldBeFalse();
|
||||||
|
|
||||||
playlist.Lock();
|
playlist.Lock();
|
||||||
|
|
||||||
|
playlist.IsLocked.ShouldBeTrue();
|
||||||
|
|
||||||
Song song = new() { FileName = "Song4.mp3" };
|
Song song = new() { FileName = "Song4.mp3" };
|
||||||
playlist.AddSong(song);
|
playlist.AddSong(song);
|
||||||
|
|
||||||
@@ -124,11 +246,21 @@ public class PlaylistTests
|
|||||||
playlist.RemoveSong(0);
|
playlist.RemoveSong(0);
|
||||||
|
|
||||||
playlist.Songs.Count.ShouldBe(3);
|
playlist.Songs.Count.ShouldBe(3);
|
||||||
}
|
|
||||||
|
|
||||||
//public void Get_Playlists()
|
playlist.MoveSong(0, 2);
|
||||||
//{
|
|
||||||
// //PlaylistRepository playlistRepository = new();
|
string[] expectedMovedFileNamesOnLockedPlaylist =
|
||||||
// //playlistRepository.Get().Returns()
|
[
|
||||||
//}
|
"Song1.mp3",
|
||||||
|
"Song2.mp3",
|
||||||
|
"Song3.mp3"
|
||||||
|
];
|
||||||
|
|
||||||
|
playlist.Songs.Select(x => x.Song.FileName).ToArray()
|
||||||
|
.ShouldBeEquivalentTo(expectedMovedFileNamesOnLockedPlaylist);
|
||||||
|
|
||||||
|
playlist.Unlock();
|
||||||
|
|
||||||
|
playlist.IsLocked.ShouldBeFalse();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user