public void FormattedTranslate_ForNullKey_ResturnsMaskedNull(string key, string expected)
        {
            // Arrange
            var resourceSource =
                Mock.Of <IResourceManagersSource>(s => s.ResourceManagers == new[] { TestTranslations.ResourceManager });
            var platformCulture = Mock.Of <IMultilingual>(s => s.CurrentCultureInfo == new CultureInfo("en"));
            var sut             = new TranslationService(resourceSource, platformCulture);

            // Act
            var result = sut.GetFormattedTranslation(key, 1);

            // Assert
            result.Should().Be(expected);
        }
        public void FormattedTranslate_ForExistingKeyInCulture_WithParameters_ResturnsTranslation(string culture, string expected)
        {
            // Arrange
            const string translationKey = "Value_1";
            var          resourceSource =
                Mock.Of <IResourceManagersSource>(s => s.ResourceManagers == new[] { TestTranslations.ResourceManager });
            var platformCulture = Mock.Of <IMultilingual>(s => s.CurrentCultureInfo == new CultureInfo(culture));
            var sut             = new TranslationService(resourceSource, platformCulture);

            // Act
            var result = sut.GetFormattedTranslation(translationKey, 1);

            // Assert
            result.Should().Be(expected);
        }
        public void FormattedTranslate_ForNotExistingKey_ResturnsMaskedTranslationKey()
        {
            // Arrange
            const string translationKey = "NO_KEY";
            const string expected       = "[_NO_KEY_]";
            var          resourceSource =
                Mock.Of <IResourceManagersSource>(s => s.ResourceManagers == new[] { TestTranslations.ResourceManager });
            var platformCulture = Mock.Of <IMultilingual>(s => s.CurrentCultureInfo == new CultureInfo("en"));
            var sut             = new TranslationService(resourceSource, platformCulture);

            // Act
            var result = sut.GetFormattedTranslation(translationKey, 1);

            // Assert
            result.Should().Be(expected);
        }
        public void FormattedTranslation_ForKey_WithoutArgumet_ReturnTransaltion()
        {
            // Arrange
            const string translationKey = "Value_3";
            const string expected       = "Value {0}";
            var          resourceSource =
                Mock.Of <IResourceManagersSource>(s => s.ResourceManagers == new[] { TestTranslations.ResourceManager });
            var platformCulture = Mock.Of <IMultilingual>(s => s.CurrentCultureInfo == new CultureInfo("en"));
            var sut             = new TranslationService(resourceSource, platformCulture);

            // Act
            var result = sut.GetFormattedTranslation(translationKey);

            // Assert
            result.Should().Be(expected);
        }