Beispiel #1
0
 public void Ctor_PlaylistWriterNull_ThrowsException()
 {
     Assert.Throws <ArgumentNullException>(() =>
     {
         IPlaylistExporter sut = new PlaylistExporter(_fileSystem, _playlistReader, null);
     });
 }
Beispiel #2
0
        public void Export_LibraryRootNull_ThrowsException()
        {
            IPlaylistExporter sut = new PlaylistExporter(_fileSystem, _playlistReader, _playlistWriter);

            Assert.Throws <ArgumentNullException>(() => sut.Export("someFile", "someOutputDir", null,
                                                                   ExportMode.None));
        }
Beispiel #3
0
 public void Ctor_FilesystemNull_ThrowsException()
 {
     Assert.Throws <ArgumentNullException>(() =>
     {
         IPlaylistExporter sut = new PlaylistExporter(null, _playlistReader, _playlistWriter);
     });
 }
Beispiel #4
0
        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));
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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>());
        }
Beispiel #8
0
        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>());
        }
Beispiel #9
0
        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>());
        }
Beispiel #10
0
        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>());
        }
Beispiel #11
0
        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>());
        }