Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MAINTENANCE: more tests #3

Merged
merged 1 commit into from
May 17, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/LocaleNames.Test/FindLanguageNameTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ public void LocaleNames_Find_language_name_for_language_code()
Assert.AreEqual("Czech", localeNames.FindLanguageName("cs-CZ"));

Assert.AreEqual("American English", localeNames.FindLanguageName("en-US"));

Assert.AreEqual("Chinese, Cantonese", localeNames.FindLanguageName("yue", Enumerations.AltVariant.Menu));
}

[TestMethod]
Expand Down
57 changes: 57 additions & 0 deletions src/LocaleNames.Test/GzipUtilsTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
using LocaleNames.Utils;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LocaleNames.Test
{
[TestClass]
public class GzipUtilsTest
{
static string InputString =
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris placerat" +
" augue non neque scelerisque rutrum. Curabitur condimentum dui sodales, " +
"sagittis turpis id, molestie quam. Pellentesque euismod, elit quis tempo" +
"r luctus, lacus massa dignissim erat, vel ornare nunc metus quis nunc. A" +
"enean vehicula faucibus dui, ac lobortis nisi faucibus et. Fusce convall" +
"is, velit a blandit pellentesque, felis elit commodo ligula, sed commodo" +
" lorem augue non est. Curabitur eu diam eget ipsum feugiat malesuada non" +
" et ligula. Cras pellentesque tortor a porttitor cursus. Nulla laoreet e" +
"t quam non placerat. Sed convallis, justo in ultricies molestie, est mi " +
"ultrices lacus, ac placerat lorem nisi nec risus. Nunc fringilla quis do" +
"lor ut consectetur. Integer non maximus orci. Duis in augue sagittis, sa" +
"gittis lorem vitae, porta erat. Sed vulputate, lectus accumsan porttitor" +
" sagittis, urna turpis tincidunt nunc, et posuere diam dui sed ex. Cras " +
"tincidunt volutpat dolor sit amet tristique. ";

public string LongString = new string(string.Join(" ", Enumerable.Repeat(InputString, 100)));

[TestMethod]
public void CompressionDecompressionTest()
{
var compressedResult = GzipUtils.Compress(InputString);
var decompressedResult = GzipUtils.Decompress(compressedResult);

Assert.AreEqual(InputString, decompressedResult);
}

/// <summary>
/// Check whether Gzip compresses the input string.
/// </summary>
[TestMethod]
public void IsCompressedTest()
{
string longString = LongString;
int longStringLength = longString.Length;

var result = GzipUtils.Compress(longString);

int resultLength = result.Length;

Assert.IsTrue(resultLength < longStringLength);
}
}
}
3 changes: 1 addition & 2 deletions src/LocaleNames/Enumerations/AltVariant.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,6 @@ public static string GetLocalePostfix(this AltVariant variant)
{
switch (variant)
{
case AltVariant.Common:
return string.Empty;
case AltVariant.Alternative:
return "-alt-variant";
case AltVariant.Short:
Expand All @@ -61,6 +59,7 @@ public static string GetLocalePostfix(this AltVariant variant)
case AltVariant.Menu:
return "-alt-menu";
default:
case AltVariant.Common:
return string.Empty;
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/LocaleNames/Extensions/StringExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public static string StripLocaleVariants(this string inputText)
{
foreach (AltVariant suit in (AltVariant[])Enum.GetValues(typeof(AltVariant)))
{
if (!string.IsNullOrWhiteSpace(suit.GetLocalePostfix()))
if (!string.IsNullOrWhiteSpace(suit.GetLocalePostfix()) && inputText.Contains(suit.GetLocalePostfix()))
{
inputText = inputText.Replace(suit.GetLocalePostfix(), "");
}
Expand Down
9 changes: 3 additions & 6 deletions src/LocaleNames/LocaleTranslations.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public class LocaleTranslations
{
#region CACHE

private static Dictionary<CultureInfo, LocaleTranslations> CachedLocaleNames { get; set; }
private static Dictionary<CultureInfo, LocaleTranslations> CachedLocaleNames { get; }
= new Dictionary<CultureInfo, LocaleTranslations>();

/// <summary>
Expand Down Expand Up @@ -50,12 +50,9 @@ public static LocaleTranslations ForLanguageCode(string languageCode)
{
cultureInfo = CultureInfo.GetCultureInfo(languageCode);
}
catch (Exception e)
catch (Exception)
{
if (e is ArgumentNullException || e is CultureNotFoundException)
{
cultureInfo = CultureInfo.InvariantCulture;
}
cultureInfo = CultureInfo.InvariantCulture;
}

return ForCultureInfo(cultureInfo);
Expand Down