[TestCase(3081, "hello", null)] // English public void TestCreateTimeTag(int lcid, string text, string[] actualTimeTag) { var lyric = new Lyric { Language = new CultureInfo(lcid), Text = text, }; var selector = new TimeTagGeneratorSelector(); var generatedTimeTags = selector.GenerateTimeTags(lyric); TimeTagAssert.AreEqual(generatedTimeTags, TestCaseTagHelper.ParseTimeTags(actualTimeTag)); }
/// <summary> /// Will auto-detect each <see cref="Lyric"/> 's <see cref="Lyric.TimeTags"/> and apply on them. /// </summary> public void AutoGenerateTimeTags() { var lyrics = beatmap.HitObjects.OfType <Lyric>().ToList(); if (!lyrics.Any()) { return; } changeHandler?.BeginChange(); var selector = new TimeTagGeneratorSelector(); foreach (var lyric in lyrics) { var timeTags = selector.GenerateTimeTags(lyric); lyric.TimeTags = timeTags; } changeHandler?.EndChange(); }