public void Ctor_PlaylistWriterNull_ThrowsException() { Assert.Throws <ArgumentNullException>(() => { IPlaylistExporter sut = new PlaylistExporter(_fileSystem, _playlistReader, null); }); }
public void Export_LibraryRootNull_ThrowsException() { IPlaylistExporter sut = new PlaylistExporter(_fileSystem, _playlistReader, _playlistWriter); Assert.Throws <ArgumentNullException>(() => sut.Export("someFile", "someOutputDir", null, ExportMode.None)); }
public void Ctor_FilesystemNull_ThrowsException() { Assert.Throws <ArgumentNullException>(() => { IPlaylistExporter sut = new PlaylistExporter(null, _playlistReader, _playlistWriter); }); }
public void Export_FileNotFound_ThrowsException() { _fileSystem.FileExists(Arg.Any <string>()).Returns(false); IPlaylistExporter sut = new PlaylistExporter(_fileSystem, _playlistReader, _playlistWriter); Assert.Throws <FileNotFoundException>(() => sut.Export("someFile", "someOutputDir", "somelibraryRoot", ExportMode.None)); }
public void Export_CorrectInputs_Succeeds() { _playlistWriter = Substitute.For <IPlaylistWriter>(); PlaylistExporter sut = new PlaylistExporter(_fileSystem, _playlistReader, _playlistWriter); sut.Export(".\\TestData\\Laptop.m3u", "C:\\temp\\output", "C:\\Users\\jfox\\Music\\iTunes\\iTunes Media\\Music", ExportMode.PlaylistContents); }
public void Export_PlaylistOnly_Succeeds() { _playlistWriter = new PlaylistWriter( new SensusPlaylistFormatter(_fileSystem)); PlaylistExporter sut = new PlaylistExporter(_fileSystem, _playlistReader, _playlistWriter); sut.Export(".\\TestData\\Laptop.m3u", "C:\\temp\\output", "C:\\Users\\jfox\\Music\\iTunes\\iTunes Media\\Music", ExportMode.PlaylistFile); }
public void Export_ExportModeNone_DoesNothing() { _fileSystem.FileExists(Arg.Any <string>()).Returns(true); IPlaylistExporter sut = new PlaylistExporter(_fileSystem, _playlistReader, _playlistWriter); sut.Export("someFile", "someOutputDir", "somelibraryRoot", ExportMode.None); _playlistReader.DidNotReceive().ReadAll(Arg.Any <Stream>(), Arg.Any <string>(), Arg.Any <string>()); }
public void Export_FileFound_ReadsFile() { _fileSystem.FileExists(Arg.Any <string>()).Returns(true); _playlistReader.ReadAll(Arg.Any <Stream>(), Arg.Any <string>(), Arg.Any <string>()) .Returns(GetTestPlaylist(0)); IPlaylistExporter sut = new PlaylistExporter(_fileSystem, _playlistReader, _playlistWriter); sut.Export("someFile", "someOutputDir", "somelibraryRoot", ExportMode.PlaylistContents); _playlistReader.Received(1).ReadAll(Arg.Any <Stream>(), Arg.Any <string>(), Arg.Any <string>()); }
public void Export_ExportPlaylist_WritesPlaylistFile() { const int PlaylistTracks = 5; _fileSystem.FileExists(Arg.Any <string>()).Returns(true); _playlistReader.ReadAll(Arg.Any <Stream>(), Arg.Any <string>(), Arg.Any <string>()) .Returns(GetTestPlaylist(PlaylistTracks)); IPlaylistExporter sut = new PlaylistExporter(_fileSystem, _playlistReader, _playlistWriter); sut.Export($"{OSDirSep}someParent{OSDirSep}someFile", "someOutputDir", $"{OSDirSep}someParent", ExportMode.PlaylistFile | ExportMode.PlaylistContents); _playlistWriter.Received().WriteAll(Arg.Any <Playlist>(), Arg.Any <Stream>()); }
public void Export_OutputDirectoryNotFound_CreatesDirectory() { _fileSystem.FileExists(Arg.Any <string>()).Returns(true); _fileSystem.DirectoryExists(Arg.Is <string>("someOutputDir")).Returns(false); _playlistReader.ReadAll(Arg.Any <Stream>(), Arg.Any <string>(), Arg.Any <string>()) .Returns(GetTestPlaylist(0)); IPlaylistExporter sut = new PlaylistExporter(_fileSystem, _playlistReader, _playlistWriter); sut.Export("someFile", "someOutputDir", "somelibraryRoot", ExportMode.PlaylistContents); _fileSystem.Received(1).CreateDirectory(Arg.Any <string>()); }
public void Export_OutputDirectoryDoesntExist_CreatesOutputDirectory() { const int PlaylistTracks = 5; _fileSystem.FileExists(Arg.Any <string>()).Returns(true); _fileSystem.DirectoryExists(Arg.Is <string>("someOutputDir")).Returns(false); _fileSystem.GetRelativePath(Arg.Any <string>(), Arg.Any <string>()).Returns("someFile"); _fileSystem.GetShortName(Arg.Is <string>($"{OSDirSep}someParent{OSDirSep}someFile")).Returns("someFile"); _playlistReader.ReadAll(Arg.Any <Stream>(), Arg.Any <string>(), Arg.Any <string>()) .Returns(GetTestPlaylist(PlaylistTracks)); IPlaylistExporter sut = new PlaylistExporter(_fileSystem, _playlistReader, _playlistWriter); sut.Export($"{OSDirSep}someParent{OSDirSep}someFile", "someOutputDir", $"{OSDirSep}someParent", ExportMode.PlaylistContents); _fileSystem.Received().CreateDirectory(Arg.Any <string>()); }