public TranslatedString(ITranslatedString contract)
            : this()
        {
            ParamIs.NotNull(() => contract);

            CopyFrom(contract);
        }
        public void SetDefaultOntoNonLocalized()
        {
            ITranslatedString str = Create(EnglishString);

            str.Set(Language.English, FrenchString);
            Assert.Equal(FrenchString, str.String);
        }
Exemple #3
0
        public TranslatedString(ITranslatedString contract)
            : this()
        {
            ParamIs.NotNull(() => contract);

            CopyFrom(contract);
        }
Exemple #4
0
        public void Equality_OnlyDefault_Single()
        {
            var comp = TranslatedString.OnlyDefaultComparer;
            ITranslatedString str  = Create(EnglishString);
            ITranslatedString str2 = Create(EnglishString);

            comp.Equals(str, str2).Should().BeTrue();
        }
Exemple #5
0
        public void Equality_All_Single()
        {
            var comp = TranslatedString.AllLanguageComparer;
            ITranslatedString str  = Create(EnglishString);
            ITranslatedString str2 = Create(EnglishString);

            comp.Equals(str, str2).Should().BeTrue();
        }
Exemple #6
0
        public void Equality_All_Self()
        {
            var comp = TranslatedString.AllLanguageComparer;
            ITranslatedString str = Create(
                new KeyValuePair <Language, string>(Language.English, EnglishString),
                new KeyValuePair <Language, string>(Language.French, FrenchString));

            comp.Equals(str, str).Should().BeTrue();
        }
Exemple #7
0
        public virtual void CopyFrom(ITranslatedString contract)
        {
            ParamIs.NotNull(() => contract);

            DefaultLanguage = contract.DefaultLanguage;
            English         = contract.English;
            Japanese        = contract.Japanese;
            Romaji          = contract.Romaji;
        }
Exemple #8
0
        public void ToArray_Straight()
        {
            TranslatedString.DefaultLanguage = Language.English;
            ITranslatedString str = Create(EnglishString);
            var arr = str.ToArray();

            Assert.Single(arr);
            Assert.Equal(Language.English, arr[0].Key);
            Assert.Equal(EnglishString, arr[0].Value);
        }
Exemple #9
0
        public void TypicalStraight()
        {
            TranslatedString.DefaultLanguage = Language.English;
            ITranslatedString str = Create(EnglishString);

            Assert.Equal(EnglishString, str.String);
            Assert.True(str.TryLookup(Language.English, out var outStr));
            Assert.Equal(EnglishString, outStr);
            Assert.Equal(EnglishString, str.Lookup(Language.English));
        }
Exemple #10
0
        public void LookupUnregisteredLanguage()
        {
            TranslatedString.DefaultLanguage = Language.English;
            ITranslatedString str = Create(
                new KeyValuePair <Language, string>(Language.English, EnglishString),
                new KeyValuePair <Language, string>(Language.French, FrenchString));

            Assert.False(str.TryLookup(Language.Spanish, out var _));
            Assert.Null(str.Lookup(Language.Spanish));
        }
Exemple #11
0
        /// <summary>
        /// Gets an URL-friendly name from any entry name.
        /// The processed name can be used as user-friendly part of an URL.
        /// 
        /// English or Romanized name is preferred.
        /// </summary>
        public static string GetUrlFriendlyName(ITranslatedString names)
        {
            string raw;

            if (names.DefaultLanguage == ContentLanguageSelection.Romaji && !string.IsNullOrEmpty(names.Romaji))
                raw = names.Romaji;
            else
                raw = names.English;

            return GetUrlFriendlyName(raw);
        }
Exemple #12
0
        public void GetAfterDefaultLanguageSwap()
        {
            TranslatedString.DefaultLanguage = Language.English;
            ITranslatedString str = Create(EnglishString);

            TranslatedString.DefaultLanguage = Language.French;
            Assert.Equal(EnglishString, str.String);
            Assert.True(str.TryLookup(Language.English, out var outStr));
            Assert.Equal(EnglishString, outStr);
            Assert.Equal(EnglishString, str.Lookup(Language.English));
        }
Exemple #13
0
        public void RemoveThenAdd()
        {
            TranslatedString.DefaultLanguage = Language.English;
            ITranslatedString str = Create(
                new KeyValuePair <Language, string>(Language.English, EnglishString),
                new KeyValuePair <Language, string>(Language.French, FrenchString));

            str.RemoveNonDefault(Language.French);
            str.Set(Language.French, "Hmm");
            Assert.True(str.TryLookup(Language.French, out var outStr));
            Assert.Equal("Hmm", outStr);
        }
Exemple #14
0
        public void Equality_OnlyDefault_EqualMany()
        {
            var comp = TranslatedString.OnlyDefaultComparer;
            ITranslatedString str = Create(
                new KeyValuePair <Language, string>(Language.English, EnglishString),
                new KeyValuePair <Language, string>(Language.French, FrenchString));
            ITranslatedString str2 = Create(
                new KeyValuePair <Language, string>(Language.English, EnglishString),
                new KeyValuePair <Language, string>(Language.French, FrenchString));

            comp.Equals(str, str2).Should().BeTrue();
        }
Exemple #15
0
        public void GetAfterDefaultLanguageSwapWithRegister()
        {
            TranslatedString.DefaultLanguage = Language.English;
            ITranslatedString str = Create(
                new KeyValuePair <Language, string>(Language.English, EnglishString),
                new KeyValuePair <Language, string>(Language.French, FrenchString));

            TranslatedString.DefaultLanguage = Language.Spanish;
            Assert.Equal(EnglishString, str.String);
            Assert.False(str.TryLookup(Language.Spanish, out var _));
            Assert.Null(str.Lookup(Language.Spanish));
        }
Exemple #16
0
        public void RemoveDirect()
        {
            TranslatedString.DefaultLanguage = Language.English;
            ITranslatedString str = Create(EnglishString);

            str.RemoveNonDefault(Language.French);

            // English string
            Assert.Equal(EnglishString, str.String);
            Assert.True(str.TryLookup(Language.English, out var outStr));
            Assert.Equal(EnglishString, outStr);
            Assert.Equal(EnglishString, str.Lookup(Language.English));
        }
Exemple #17
0
        /// <summary>
        /// Gets an URL-friendly name from any entry name.
        /// The processed name can be used as user-friendly part of an URL.
        ///
        /// English or Romanized name is preferred.
        /// </summary>
        public static string GetUrlFriendlyName(ITranslatedString names)
        {
            string raw;

            if (names.DefaultLanguage == ContentLanguageSelection.Romaji && !string.IsNullOrEmpty(names.Romaji))
            {
                raw = names.Romaji;
            }
            else
            {
                raw = names.English;
            }

            return(GetUrlFriendlyName(raw));
        }
Exemple #18
0
        public void MissingDefaultLanguage()
        {
            TranslatedString.DefaultLanguage = Language.English;
            ITranslatedString str = Create(
                new KeyValuePair <Language, string>(Language.French, FrenchString));

            // English string
            Assert.Null(str.String);
            Assert.False(str.TryLookup(Language.English, out var outStr));

            // French string
            Assert.True(str.TryLookup(Language.French, out outStr));
            Assert.Equal(FrenchString, outStr);
            Assert.Equal(FrenchString, str.Lookup(Language.French));
        }
Exemple #19
0
        public void ToArray_MultiLanguage()
        {
            TranslatedString.DefaultLanguage = Language.English;
            ITranslatedString str = Create(
                new KeyValuePair <Language, string>(Language.English, EnglishString),
                new KeyValuePair <Language, string>(Language.French, FrenchString));

            var arr = str.ToArray();

            Assert.Equal(2, arr.Length);
            Assert.Equal(Language.English, arr[0].Key);
            Assert.Equal(EnglishString, arr[0].Value);
            Assert.Equal(Language.French, arr[1].Key);
            Assert.Equal(FrenchString, arr[1].Value);
        }
Exemple #20
0
        public void Set()
        {
            TranslatedString.DefaultLanguage = Language.English;
            ITranslatedString str = Create(EnglishString);

            str.Set(Language.French, FrenchString);

            // English string
            Assert.Equal(EnglishString, str.String);
            Assert.True(str.TryLookup(Language.English, out var outStr));
            Assert.Equal(EnglishString, outStr);
            Assert.Equal(EnglishString, str.Lookup(Language.English));

            // French string
            Assert.True(str.TryLookup(Language.French, out outStr));
            Assert.Equal(FrenchString, outStr);
            Assert.Equal(FrenchString, str.Lookup(Language.French));
        }
Exemple #21
0
        public void RemoveDefault()
        {
            TranslatedString.DefaultLanguage = Language.English;
            ITranslatedString str = Create(
                new KeyValuePair <Language, string>(Language.English, EnglishString),
                new KeyValuePair <Language, string>(Language.French, FrenchString));

            str.RemoveNonDefault(Language.English);

            // English string
            Assert.Equal(EnglishString, str.String);
            Assert.True(str.TryLookup(Language.English, out var outStr));
            Assert.Equal(EnglishString, outStr);
            Assert.Equal(EnglishString, str.Lookup(Language.English));

            // French string
            Assert.True(str.TryLookup(Language.French, out outStr));
            Assert.Equal(FrenchString, outStr);
            Assert.Equal(FrenchString, str.Lookup(Language.French));
        }
Exemple #22
0
 public TranslatedNameRowViewModel(ITranslatedString name, ITranslatedString compareToName = null)
 {
     Name          = name;
     CompareToName = compareToName;
 }
        public virtual void CopyFrom(ITranslatedString contract)
        {
            ParamIs.NotNull(() => contract);

            DefaultLanguage = contract.DefaultLanguage;
            English = contract.English;
            Japanese = contract.Japanese;
            Romaji = contract.Romaji;
        }