public void MoviesWithSceneFileNamesAreNotDetectedAsTvEpisodes() { //Arrange var fileName = "Transformers.Age.Of.Extinction.2014.1080p.DVDR.NTSC-LPD.mkv"; var factory = new MediaFactory(); //Act var result = factory.CreateMediaObject(fileName); //Assert Assert.IsNotInstanceOfType(result, typeof(TvEpisode)); }
public void TvEpisodesWithAnXSeasonEpisodeSeperatorAndRangeOfEpisodesAreCorrectlyParsed2() { //Arrange var fileName = "Rocko's Modern Life - S01E03-E04 - Leap Frogs + Bedfellows HDTV-720p.mkv"; var expectedResults = new { FileName = "Rocko's Modern Life - S01E03-E04 - Leap Frogs + Bedfellows HDTV-720p.mkv", ShowName = "Rocko's Modern Life", Extension = ".mkv", Episode = "03", EpisodeRange = "04", Season = "01", DisplayName = "Rocko's Modern Life - S01E03-E04" }; var factory = new MediaFactory(); //Act var obj = factory.CreateMediaObject(fileName); //Assert Assert.AreEqual(expectedResults.FileName, obj.FileName); Assert.AreEqual(expectedResults.ShowName, obj.Name); Assert.AreEqual(expectedResults.Extension, obj.Extension); Assert.AreEqual(expectedResults.Episode, ((TvEpisode) obj).Episode); Assert.AreEqual(expectedResults.EpisodeRange, ((TvEpisode)obj).EpisodeRange); Assert.AreEqual(expectedResults.Season, ((TvEpisode)obj).Season); Assert.AreEqual(expectedResults.DisplayName, obj.DisplayName); }
public void TvShowsWithSceneFileNameAreDetectedAsTvEpisodes() { //Arrange var fileName = "The.Big.Bang.Theory.S04E03.The.Zazzy.Substitution.BluRay.1080p.Remux.AVC.DTS-HDMA.5.1-BluHD.mkv"; var factory = new MediaFactory(); //Act var result = factory.CreateMediaObject(fileName); //Assert Assert.IsInstanceOfType(result, typeof(TvEpisode)); }
private void downloadListOnOnAdd(object sender, ObservedListEventArgs observedListEventArgs) { var item = observedListEventArgs.Item as FtpListItem; if (item != null && _viewModel.DownloadList.All(x => x.Item.FullName != item.FullName)) { if (_factory == null) { _factory = new MediaFactory(); } MainWindowDownloadList itemToAdd; var status = observedListEventArgs.IsPriority ? "Found - Priority" : "Found"; try { var media = _factory.CreateMediaObject(item.Name); itemToAdd = new MainWindowDownloadList { Item = item, Status = status, ParsedName = media.DisplayName, ParsedType = media.TypeName }; } catch { itemToAdd = new MainWindowDownloadList { Item = item, Status = status, ParsedName = "", ParsedType = "" }; } var firstFound = _viewModel.DownloadList.FirstOrDefault(x => x.Status == "Found"); var index = _viewModel.DownloadList.IndexOf(firstFound); if (observedListEventArgs.IsPriority && index >= 0) { Application.Current.Dispatcher.Invoke(delegate { _viewModel.DownloadList.Insert(index, itemToAdd); }); } else { Application.Current.Dispatcher.Invoke(delegate { _viewModel.DownloadList.Add(itemToAdd); }); } } foreach ( var expiredItem in _viewModel.DownloadList.Where(x => x.LastUpdated <= DateTime.Now.AddDays(-1) && x.Status == "Moved").ToList()) { Application.Current.Dispatcher.Invoke(delegate { _viewModel.DownloadList.Remove(expiredItem); }); } }