public void Constructor_NullParser_Throws() { var stubReader = Substitute.For <IUnvalidatedSubtitlesReader>(); ISubtitlesParser nullParser = null; Assert.Throws <ArgumentNullException>( () => new SubtitlesFileParser(stubReader, nullParser)); }
public SubtitlesFileParser( IUnvalidatedSubtitlesReader reader, ISubtitlesParser parser) { if (reader == null) { throw new ArgumentNullException(nameof(reader)); } if (parser == null) { throw new ArgumentNullException(nameof(parser)); } this.reader = reader; this.parser = parser; }
bool open(int trackNr) { rwLock.EnterWriteLock(); items.Clear(); rwLock.ExitWriteLock(); if (trackNr >= NrTracks) { return(false); } String subtitleLocation = SubtitleLocations[trackNr]; ISubtitlesParser parser = extToParser(Path.GetExtension(subtitleLocation)); try { List <SubtitleItem> newItems = null; using (FileStream fileStream = File.OpenRead(subtitleLocation)) { newItems = parser.ParseStream(fileStream, Encoding.UTF8); } if (Log != null) { Log.Info("Loaded subtitles file: " + subtitleLocation); } rwLock.EnterWriteLock(); items = newItems; rwLock.ExitWriteLock(); return(true); } catch (Exception e) { if (Log != null) { Log.Error("Error opening subtitles file: " + subtitleLocation, e); } return(false); } }
private SubtitlesFileParser CreateParser( IUnvalidatedSubtitlesReader reader, ISubtitlesParser parser) { return(new SubtitlesFileParser(reader, parser)); }
private SubtitlesFileParser CreateParser(ISubtitlesParser parser) { return(CreateParser(Substitute.For <IUnvalidatedSubtitlesReader>(), parser)); }