public void SF_Test_WriteFile() { string path = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterEng.txt"); string[] text = File.ReadAllLines(path); SubtitlesFile sf = new SubtitlesFile(text); string output = sf.ToString(); }
private void CurrentSubtitlesChangedHandler(object sender, SubtitlesChangedEventArgs e) { e.OldSubtitles.NameChanged -= new EventHandler <EventArgs <String> >(CurrentSubtitlesNameChangedHandler); e.NewSubtitles.NameChanged += new EventHandler <EventArgs <String> >(CurrentSubtitlesNameChangedHandler); currentSubtitles = e.NewSubtitles; View.Caption = CreateCaption(currentSubtitles.Name); }
private void CurrentSubtitlesChangedHandler(object sender, SubtitlesChangedEventArgs e) { if (e.OldSubtitles != null) { e.OldSubtitles.ContentChanged -= new EventHandler <SubtitlesContentChangedEventArgs>(SubtitlesContentChangedHandler); } subtitles = e.NewSubtitles; subtitles.ContentChanged += new EventHandler <SubtitlesContentChangedEventArgs>(SubtitlesContentChangedHandler); View.ScrollToBegin(); }
public void SF_Test_ExtractPauses() { string path = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterEng.txt"); string[] text = File.ReadAllLines(path); SubtitlesFile sf = new SubtitlesFile(text); List <Time> pauses = sf.TimeBetweenSubtitles(); foreach (var pausa in pauses) { Console.WriteLine(pausa); } }
/// <summary> /// Konstruktor. /// </summary> /// <param name="viewManager">Obiekt menadżera widoków.</param> /// <param name="view">Obiekt zarządzanego przez prezentera widoku.</param> /// <param name="appManager">Obiekt menadżera aplikacji.</param> /// <param name="subtitlesManager">Menadżer obiektów reprezentujących napisy.</param> public MainFormPresenter(IViewManager viewManager, IMainFormView view, ApplicationManager appManager, SubtitlesManager subtitlesManager) : base(viewManager, view) { this.applicationManager = appManager; this.subtitlesManager = subtitlesManager; this.subtitlesManager.CurrentSubtitlesChanged += new EventHandler <SubtitlesChangedEventArgs>(CurrentSubtitlesChangedHandler); this.currentSubtitles = subtitlesManager.CurrentSubtitles; this.currentSubtitles.NameChanged += new EventHandler <EventArgs <String> >(CurrentSubtitlesNameChangedHandler); this.View.ShowRequest += new EventHandler(ViewShowRequestHandler); this.View.CloseRequest += new EventHandler(ViewCloseRequestHandler); this.View.PreCloseRequest += new EventHandler <ViewPreCloseEventArgs>(ViewPreCloseRequestHandler); }
public void SF_Test_CTR_FromText() { string path = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterEng.txt"); string[] text = File.ReadAllLines(path); SubtitlesFile sf = new SubtitlesFile(text); Assert.AreEqual(1388, sf.Subtitles.Count); string path2 = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterHeb.txt"); string[] text2 = File.ReadAllLines(path2); SubtitlesFile sf2 = new SubtitlesFile(text2); Assert.AreEqual(1267, sf2.Subtitles.Count); }
public void A_TestGradeAlignment() { string path = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterEng.txt"); string[] text = File.ReadAllLines(path); string path2 = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterHeb.txt"); string[] text2 = File.ReadAllLines(path2); SubtitlesFile sf1 = new SubtitlesFile(text); SubtitlesFile sf2 = new SubtitlesFile(text2); SubsAligner pa = new SubsAligner(sf1, sf2); int err_score = pa.GetScore(); Assert.AreNotEqual(0, err_score); }
static void Main(string[] args) { if (args.Length != 3) { Console.WriteLine("arguments: forign_language_but_synced_subs, wanted_languaged_but_de-synced_subs, output_wanted_language_and_synced"); } string[] text = File.ReadAllLines(args[0]); string[] text2 = File.ReadAllLines(args[1]); SubtitlesFile sf1 = new SubtitlesFile(text); SubtitlesFile sf2 = new SubtitlesFile(text2); SubsAligner pa = new SubsAligner(sf1, sf2); int currScore = pa.GetScore(); int first_score = currScore; int prev_score = currScore; while (true) { pa.ApplyChange(100, 1); currScore = pa.GetScore(); if (currScore > prev_score) { pa.ApplyChange(-100, 1); break; } else { prev_score = currScore; } } int final_score = pa.GetScore(); Console.WriteLine("Error: " + final_score); string outputPath = args[2]; File.WriteAllText(outputPath, pa.Sub2.ToString()); }
/// <summary> /// Konstruktor. /// </summary> /// <param name="viewManager">Obiekt menadżera widoków.</param> /// <param name="view">Obiekt zarządzanego przez prezentera widoku.</param> /// <param name="subtitlesManager">Obiekt modelu menadżera plików.</param> /// <param name="subtitlesEditor">Edytor napisów.</param> public SubtitlesPresenter(IViewManager viewManager, ISubtitlesView view, SubtitlesManager subtitlesManager, SubtitlesEditor subtitlesEditor) : base(viewManager, view) { this.manager = subtitlesManager; this.manager.CurrentSubtitlesChanged += new EventHandler <SubtitlesChangedEventArgs>(CurrentSubtitlesChangedHandler); this.subtitles = subtitlesManager.CurrentSubtitles; this.subtitles.ContentChanged += new EventHandler <SubtitlesContentChangedEventArgs>(SubtitlesContentChangedHandler); this.View.Content = this.subtitles.Content; this.View.SelectionChanged += new EventHandler <SelectionChangedEventArgs>(ViewSelectionChangedHandler); this.View.ContentChanged += new EventHandler(ViewContentChangedHandler); this.View.Scrolled += new EventHandler <ScrolledEventArgs>(ViewScrolledHandler); this.editor = subtitlesEditor; this.editor.EditStateChanged += new EventHandler <SubtitlesEditStateChangedEventArgs>(EditorEditStateChangedHandler); this.composer = new ModificationComposer(); this.previousLineNumberingDigits = 1; }
public void A_TestApplyFix() { string path = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterEng.txt"); string[] text = File.ReadAllLines(path); string path2 = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterHeb.txt"); string[] text2 = File.ReadAllLines(path2); SubtitlesFile sf1 = new SubtitlesFile(text); SubtitlesFile sf2 = new SubtitlesFile(text2); SubsAligner pa = new SubsAligner(sf1, sf2); int before_err_score = pa.GetScore(); pa.ApplyChange(2000, 1); int after_err_score = pa.GetScore(); Assert.IsTrue(before_err_score > after_err_score); }
public void A_TestAlign() { string path = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterEng.txt"); string[] text = File.ReadAllLines(path); string path2 = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterHeb.txt"); string[] text2 = File.ReadAllLines(path2); SubtitlesFile sf1 = new SubtitlesFile(text); SubtitlesFile sf2 = new SubtitlesFile(text2); SubsAligner pa = new SubsAligner(sf1, sf2); int currScore = pa.GetScore(); int first_score = currScore; int prev_score = currScore; while (true) { pa.ApplyChange(100, 1); currScore = pa.GetScore(); if (currScore > prev_score) { pa.ApplyChange(-100, 1); break; } else { prev_score = currScore; } } int final_score = pa.GetScore(); Assert.IsTrue(first_score > final_score); }
/// <summary> /// Konstruktor. /// </summary> /// <param name="file">Obiekt pliku napisów, którego format ma być rozsztrzygnięty.</param> /// <param name="strategyRepository">Repozytorium strategii, wykorzystywanych do czytania zawartości pliku.</param> public SubtitlesFormatResolver(SubtitlesFile file, StrategyForFormatRepository strategyRepository) { this.strategyRepository = strategyRepository; this.file = file; }
/// <summary> /// Konstruktor. /// </summary> /// <param name="file">Obiekt pliku napisów, którego format ma być rozsztrzygnięty.</param> public SubtitlesFormatResolver(SubtitlesFile file) : this(file, new StrategyForFormatRepository()) { InitialzieStrategyRepository(); }