public void GetDefaultAbbreviationFallsBackToUsEnglishCulture() { var oldCurrentCulture = CultureInfo.CurrentCulture; var oldCurrentUICulture = CultureInfo.CurrentUICulture; try { // CurrentCulture affects number formatting, such as comma or dot as decimal separator. // CurrentUICulture affects localization, in this case the abbreviation. // Zulu (South Africa) var zuluCulture = new CultureInfo("zu-ZA"); CultureInfo.CurrentCulture = CultureInfo.CurrentUICulture = zuluCulture; var abbreviationsCache = new UnitAbbreviationsCache(); abbreviationsCache.MapUnitToAbbreviation(CustomUnit.Unit1, AmericanCulture, "US english abbreviation for Unit1"); // Act string abbreviation = abbreviationsCache.GetDefaultAbbreviation(CustomUnit.Unit1, zuluCulture); // Assert Assert.Equal("US english abbreviation for Unit1", abbreviation); } finally { CultureInfo.CurrentCulture = oldCurrentCulture; CultureInfo.CurrentUICulture = oldCurrentUICulture; } }
public void MapUnitToDefaultAbbreviation_GivenUnitAndCulture_SetsDefaultAbbreviationForUnitAndCulture() { var cache = new UnitAbbreviationsCache(); cache.MapUnitToDefaultAbbreviation(AreaUnit.SquareMeter, AmericanCulture, "m^2"); Assert.Equal("m^2", cache.GetDefaultAbbreviation(AreaUnit.SquareMeter, AmericanCulture)); }
public void MapUnitToAbbreviation_AddCustomUnit_DoesNotOverrideDefaultAbbreviationForAlreadyMappedUnits() { var cache = new UnitAbbreviationsCache(); cache.MapUnitToAbbreviation(AreaUnit.SquareMeter, AmericanCulture, "m^2"); Assert.Equal("m²", cache.GetDefaultAbbreviation(AreaUnit.SquareMeter)); }
public void GetDefaultAbbreviationThrowsNotImplementedExceptionIfNoneExist() { var unitAbbreviationCache = new UnitAbbreviationsCache(); Assert.Throws <NotImplementedException>(() => unitAbbreviationCache.GetDefaultAbbreviation(CustomUnit.Unit1)); }