public void Should_return_selected_language_by_supported_name_block() { var resourceProvider = new Mock <IDefaultLocalizationResourceProvider>(); var preferencesService = new Mock <IPreferencesService>(); var locManager = new Mock <ILocalizationManager>(); SetupMockSuccessCase(locManager, resourceProvider, preferencesService); locManager.Setup(p => p.GetResource(It.IsAny <string>(), It.IsAny <string>())).Returns((string l, string r) => { if (r.Contains("SupportedNameBlock")) { if (l.Equals("jp")) { return("IsKatakana"); } return(string.Empty); } return("Roboto"); }); resourceProvider.Setup(p => p.GetAvailableLocales()).Returns(() => { return(new List <string>() { "en", "de", "jp" }); }); var languageService = new LanguagesService(new Cache(), locManager.Object, resourceProvider.Object, preferencesService.Object, new Mock <IStorageProvider>().Object, new Mock <IMapper>().Object); var l = languageService.GetLanguageBySupportedNameBlock("test"); l.Abrv.Should().Be("en"); }