public void SanitizeTextForESpeakPreview_Newlines_ReplacedWithSpace() { string unsafeText = "One\nTwo"; string safeText = AudioSegmentationApi.SanitizeTextForESpeakPreview(unsafeText); Assert.That(safeText, Is.Not.EqualTo(unsafeText)); Assert.That(safeText, Is.EqualTo("One Two")); // There are other acceptable variations that it could equal }
public void SanitizeTextForESpeakPreview_Quotes_Stripped() { string unsafeText = "One\" && espeak -v en \"Two."; string safeText = AudioSegmentationApi.SanitizeTextForESpeakPreview(unsafeText); Assert.That(safeText, Is.Not.EqualTo(unsafeText)); // Definitely must pass Assert.That(safeText, Is.EqualTo("One && espeak -v en Two.")); // There are other acceptable variations that it could equal }
public void ParseTimingFileTSV_ValidSingleLineInput_ParsedSuccessfully(string inputLine) { var timingRanges = AudioSegmentationApi.ParseTimingFileTSV(new string[] { inputLine }); Assert.That(timingRanges.Count, Is.EqualTo(1)); Assert.That(timingRanges[0].Item1, Is.EqualTo("1.000"), "Start timing"); Assert.That(timingRanges[0].Item2, Is.EqualTo("4.980"), "End timing"); }
public void ParseTimingFileTSV_MultiLineInputWithMissingEnd_ParsedSuccessfully() { string[] inputs = new string[] { "1.000\t\tf000001", "4.980\t10.000\tf000002" }; var timingRanges = AudioSegmentationApi.ParseTimingFileTSV(inputs); Assert.That(timingRanges.Count, Is.EqualTo(2)); Assert.That(timingRanges[0].Item1, Is.EqualTo("1.000"), "Start timing 1"); Assert.That(timingRanges[0].Item2, Is.EqualTo("4.980"), "End timing 1"); Assert.That(timingRanges[1].Item1, Is.EqualTo("4.980"), "Start timing 2"); Assert.That(timingRanges[1].Item2, Is.EqualTo("10.000"), "End timing 2"); }
public void ApplyOrthographyConversion_NonAscii_SpecialCharsRecognizedAndConverted(string encodingStr) { // Parse test case parameter Encoding encoding = Encoding.Default; if (encodingStr == "utf8") { encoding = Encoding.UTF8; } else if (encodingStr.Equals("Unicode", StringComparison.OrdinalIgnoreCase) || encodingStr == "utf16" || encodingStr == "utf16le") { encoding = Encoding.Unicode; } else if (encodingStr.Equals("BigEndianUnicode", StringComparison.OrdinalIgnoreCase) || encodingStr == "utf16be") { encoding = Encoding.BigEndianUnicode; } // Setup the settings file that the System Under Test will read // Converts "άλφα" into "alpha" string[] lines = new string[] { "ά\ta", "λ\tl", "φ\tph", "α\ta" }; string tempFileName = Path.GetTempFileName(); File.WriteAllLines(tempFileName, lines, encoding); // Other Setup var fragments = new List <string>(); fragments.Add("άλφα"); // System Under Test List <string> mappedFragments = AudioSegmentationApi.ApplyOrthographyConversion(fragments, tempFileName).ToList(); // Cleanup File.Delete(tempFileName); // Verification Assert.That(mappedFragments[0], Is.EqualTo("alpha")); }
public void ParseJson_Valid_ParsesAllParams() { string inputJson = "{\"audioFilenameBase\":\"id0\",\"audioTextFragments\":[{\"fragmentText\":\"Sentence 1.\",\"id\":\"id1\"},{\"fragmentText\":\"Sentence 2.\",\"id\":\"id2\"},{\"fragmentText\":\"Sentence 3.\",\"id\":\"id3\"}],\"lang\":\"es\"}"; var request = AudioSegmentationApi.ParseJson(inputJson); Assert.That(request.audioFilenameBase, Is.EqualTo("id0")); Assert.That(request.audioTextFragments, Is.Not.Null); Assert.That(request.audioTextFragments.Length, Is.EqualTo(3)); for (int i = 0; i < request.audioTextFragments.Length; ++i) { Assert.That(request.audioTextFragments[i].fragmentText, Is.EqualTo($"Sentence {i + 1}.")); Assert.That(request.audioTextFragments[i].id, Is.EqualTo($"id{i+1}")); } Assert.That(request.lang, Is.EqualTo("es")); }
public void ApplyOrthographyConversion_Ascii_MapJToY() { // Setup string tempFileName = Path.GetTempFileName(); File.WriteAllText(tempFileName, "j\ty"); var fragments = new List <string>(); fragments.Add("jojo"); // System Under Test List <string> mappedFragments = AudioSegmentationApi.ApplyOrthographyConversion(fragments, tempFileName).ToList(); // Cleanup File.Delete(tempFileName); // Verification Assert.That(mappedFragments[0], Is.EqualTo("yoyo")); }