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); }
public void Equality_OnlyDefault_Single() { var comp = TranslatedString.OnlyDefaultComparer; ITranslatedString str = Create(EnglishString); ITranslatedString str2 = Create(EnglishString); comp.Equals(str, str2).Should().BeTrue(); }
public void Equality_All_Single() { var comp = TranslatedString.AllLanguageComparer; ITranslatedString str = Create(EnglishString); ITranslatedString str2 = Create(EnglishString); comp.Equals(str, str2).Should().BeTrue(); }
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(); }
public virtual void CopyFrom(ITranslatedString contract) { ParamIs.NotNull(() => contract); DefaultLanguage = contract.DefaultLanguage; English = contract.English; Japanese = contract.Japanese; Romaji = contract.Romaji; }
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); }
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)); }
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)); }
/// <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); }
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)); }
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); }
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(); }
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)); }
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)); }
/// <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)); }
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)); }
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); }
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)); }
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)); }
public TranslatedNameRowViewModel(ITranslatedString name, ITranslatedString compareToName = null) { Name = name; CompareToName = compareToName; }