public void RoundTest(Language lang, string reference, string text) { var latin = Transliteration.CyrillicToLatin(text, lang); var actual = Transliteration.LatinToCyrillic(latin, lang); Assert.Equal(text, actual); }
public void TransliterateFullname(Talent talent) { string fullNameTransliterated = null; if (Regex.IsMatch(talent.FullName, @"\p{IsCyrillic}")) { // there is at least one cyrillic character in the string fullNameTransliterated = Transliteration.CyrillicToLatin(talent.FullName, Language.Russian); } else { fullNameTransliterated = Transliteration.LatinToCyrillic(talent.FullName, Language.Russian); } talent.FullNameTransliterated = fullNameTransliterated; }
private static async Task MakeCall() { Log.Information("Making call"); if (s_SpotifyToken.IsExpired()) { Log.Debug("Spotify token expired... Refreshing"); await RefreshSpotifyToken(); } var playbackContext = await s_SpotifyAPI.GetPlaybackAsync(); var summary = await s_SteamAPI.GetPlayerSummaryAsync(s_SteamId); if (playbackContext?.HasError() != false) { Log.Warning("playbackContext is null or has a error"); if (playbackContext.Error is not null) { Log.Warning(playbackContext.Error.ToString()); } } // Spotify music is playing? var isPlayingSpotify = playbackContext?.IsPlaying == true && playbackContext.Item != null; if (isPlayingSpotify) { var audios = await s_VKAPI.Audio.SearchAsync(new() { SearchOwn = false, PerformerOnly = false, Count = 1, Query = $"{Extensions.GetArtists(playbackContext.Item.Artists)} {playbackContext.Item.Name}" }); string vkFullAudio; if (audios?.Any() == false) { Log.Debug("Didn't found a music in VK"); Log.Debug("Trying translit to russian"); audios = await s_VKAPI.Audio.SearchAsync(new() { SearchOwn = false, PerformerOnly = false, Count = 1, Query = $"{Transliteration.LatinToCyrillic(Extensions.GetArtists(playbackContext.Item.Artists))} {playbackContext.Item.Name}" }); var audio = audios.FirstOrDefault(); vkFullAudio = audio is not null ? $"{audio.OwnerId}_{audio.Id}" : string.Empty; } else { var audio = audios[0]; vkFullAudio = $"{audio.OwnerId}_{audio.Id}"; } if (!string.IsNullOrEmpty(vkFullAudio)) { Log.Debug($"Found music in VK {vkFullAudio}"); if (s_VKAudioId == vkFullAudio) { Log.Debug("Old VkAudio is equals to new.. Skipping"); return; } s_VKAudioId = vkFullAudio; await s_VKAPI.Audio.SetBroadcastAsync(vkFullAudio); return; } Log.Debug("Didn't found a music in VK"); Log.Debug($"Searched: {playbackContext.Item.Name}"); } else if (!string.IsNullOrEmpty(s_VKAudioId)) { Log.Debug("Set not listening"); s_VKAudioId = string.Empty; await s_VKAPI.Audio.SetBroadcastAsync(); } // Steam playing game var gameNameSteam = summary.Data?.PlayingGameName; // Steam user is online var isOnlineSteam = summary.Data?.UserStatus is UserStatus.Online; var sb = new StringBuilder(); if (isPlayingSpotify) { sb.Append(s_StringLocalizer["Spotify", new[] { Extensions.GetArtists(playbackContext.Item.Artists), playbackContext.Item.Name, Extensions.GetTime(playbackContext.Item.DurationMs, playbackContext.ProgressMs) }]); } else { sb.Append(s_StringLocalizer["SpotifyNothing"]); } sb.Append(s_StringLocalizer["Steam", new[] { string.IsNullOrEmpty(gameNameSteam) ? isOnlineSteam ? "в онлайне" : "в оффлайне" : gameNameSteam }]); if (!(isPlayingSpotify || !string.IsNullOrEmpty(gameNameSteam))) { sb.Append(s_StringLocalizer["AFK"]); } var status = sb.ToString(); Log.Verbose(status); if (s_VKStatus == status) { Log.Debug("Old status is equals to new. Skip the updating"); return; } s_VKStatus = status; await s_VKAPI.Status.SetAsync(s_VKStatus); }
public string L2Cv14() => Transliteration.LatinToCyrillic(_latin, Language.Russian);
public void L2CInvalidLanguageTest() { var lang = default(Language) - 1; Assert.Throws <NotSupportedException>(() => Transliteration.LatinToCyrillic("123", lang)); }
public void L2CNumTest() { var result = Transliteration.LatinToCyrillic("123"); Assert.Equal("123", result); }
public void L2CSimpleTest() { var result = Transliteration.LatinToCyrillic("Abv"); Assert.Equal("Абв", result); }
public void L2CEmptyTest() { var result = Transliteration.LatinToCyrillic(""); Assert.Equal("", result); }
public void L2CNullTest() { var result = Transliteration.LatinToCyrillic(null); Assert.Null(result); }
public void ExactL2CTest(Language lang, string reference, string cyrillic, string latin) { var actual = Transliteration.LatinToCyrillic(latin, lang); Assert.Equal(cyrillic, actual); }