public bool CanAutoGenerateRomaji() { var selector = new RomajiTagGeneratorSelector(); var lyrics = beatmap.HitObjects.OfType <Lyric>().ToList(); return(lyrics.Any(lyric => selector.Generatable(lyric))); }
[TestCase(1028, "はなび", null)] // Chinese(should not supported) public void TestCreateRomajiTag(int lcid, string text, string[] actualRomaji) { var lyric = new Lyric { Language = new CultureInfo(lcid), Text = text, }; var selector = new RomajiTagGeneratorSelector(); var generatedRomaji = selector.GenerateRomajiTags(lyric); Assert.AreEqual(generatedRomaji, TestCaseTagHelper.ParseRomajiTags(actualRomaji)); }
public void AutoGenerateRomaji() { var lyrics = beatmap.HitObjects.OfType <Lyric>().ToList(); if (!lyrics.Any()) { return; } changeHandler?.BeginChange(); var selector = new RomajiTagGeneratorSelector(); foreach (var lyric in lyrics) { var romajiTags = selector.GenerateRomajiTags(lyric); lyric.RomajiTags = romajiTags; } changeHandler?.EndChange(); }