private void UpdateSuggestion() { if (Part == null || Note == null) { Suggestions.Clear(); return; } Suggestions.Clear(); var singer = DocManager.Inst.Project.tracks[Part.trackNo].Singer; if (singer == null || !singer.Loaded) { Suggestions.Add(new SuggestionItem() { Alias = "No Singer", }); return; } if (!string.IsNullOrEmpty(Text)) { Suggestions.Add(new SuggestionItem() { Alias = WanaKana.ToHiragana(Text), Source = "a->あ", }); } singer.GetSuggestions(Text, oto => Suggestions.Add(new SuggestionItem() { Alias = oto.Alias, Source = string.IsNullOrEmpty(oto.Set) ? singer.Id : $"{singer.Id} / {oto.Set}", })); }
public void ToHiraganaUsingObsoleteKana(string input, string expectedResult) { Assert.Equal(expectedResult, WanaKana.ToHiragana(input, new WanaKanaOptions() { UseObsoleteKana = true }), StringComparer.InvariantCulture); }
public void CaseSensitivityToHiragana() { var result = WanaKana.ToHiragana("aiueo"); var upperResult = WanaKana.ToHiragana("AIUEO"); Assert.Equal(upperResult, result); }
public override string Transform(string lyric) { return(WanaKana.ToHiragana(lyric, new WanaKanaOptions() { CustomKanaMapping = mapping })); }
public void ToHiraganaWithPassRomaji() { var result = WanaKana.ToHiragana("only カナ", new WanaKanaOptions() { PassRomaji = true }); Assert.Equal("only かな", result, StringComparer.InvariantCulture); }
public void MixedSyllablesToHiragana(string input, bool passRomaji, string expectedResult) { var result = WanaKana.ToHiragana(input, new WanaKanaOptions() { PassRomaji = passRomaji }); Assert.Equal(expectedResult, result); }
public void ToHiraganaTableConversions() { foreach (var(romaji, hiragana, katakana) in ConversionTables.RomajiToHiraganaKatakana) { var lower = WanaKana.ToHiragana(romaji); var upper = WanaKana.ToHiragana(romaji.ToUpperInvariant()); Assert.Equal(hiragana, lower); Assert.Equal(hiragana, upper); } }
private void UpdateSuggestion() { if (Part == null || Note == null) { itemList.Items.Clear(); popup.IsOpen = false; return; } itemList.Items.Clear(); popup.IsOpen = true; var singer = DocManager.Inst.Project.tracks[Part.trackNo].Singer; if (singer == null) { itemList.Items.Add("No Singer"); return; } if (!string.IsNullOrEmpty(Text)) { itemList.Items.Add(WanaKana.ToHiragana(Text)); } singer.GetSuggestions(Text, oto => itemList.Items.Add(oto.Alias)); }
public void ToHiraganaKatakanaChoonpu(string input, string expectedResult) { Assert.Equal(expectedResult, WanaKana.ToHiragana(input), StringComparer.InvariantCulture); }
public void ToHiraganaWithoutPassRomaji() { var result = WanaKana.ToHiragana("only カナ"); Assert.Equal("おんly かな", result, StringComparer.InvariantCulture); }
public void EmptyResultIsEmpty() { Assert.Empty(WanaKana.ToHiragana(string.Empty)); }
public void ToHiraganaWithMixedInput() { var result = WanaKana.ToHiragana("#22 22漢字、toukyou, オオサカ"); Assert.Equal("#22 22漢字、とうきょう、 おおさか", result, StringComparer.InvariantCulture); }
public void ConvertingLongVowelsToHiragana(string input, string expectedResult) { var result = WanaKana.ToHiragana(input); Assert.Equal(expectedResult, result); }
public void ConvertingKatakanaToHiragana(string katakana, string hiragana) { var result = WanaKana.ToHiragana(katakana); Assert.Equal(hiragana, result); }