public void ConstructorTest() { // Arrange. var words = new[] { "aaa::", "bbb::", "ccc::" }; var data = Encoding.UTF8.GetBytes(string.Join(Environment.NewLine, words)); var culture = new CultureInfo("en-US"); // Act. var dictionary = new GenericDictionary(culture, data); // Assert. Assert.AreEqual(culture, dictionary.Culture); Assert.AreEqual(3, dictionary.Words.Count()); Assert.IsTrue(dictionary.Words.Contains("aaa")); Assert.IsTrue(dictionary.Words.Contains("bbb")); Assert.IsTrue(dictionary.Words.Contains("ccc")); // Argument validation. TestsHelper.VerifyThrow<ArgumentNullException>(() => new GenericDictionary(null, data)); TestsHelper.VerifyThrow<ArgumentNullException>(() => new GenericDictionary(culture, null)); }
private async Task<IWordDictionary> GetDictionaryInternal(CultureInfo culture) { foreach (var lazyDictionary in _exportedDictionaries.Value) { var cultureName = lazyDictionary.Metadata.CultureName; if (cultureName == string.Empty) cultureName = "en-US"; if (culture.Name == cultureName) return lazyDictionary.Value; } try { var dictionaryBytes = await DictionaryManager.GetDictionaryAsync(culture.Name); var dictionary = new GenericDictionary(culture, dictionaryBytes); return dictionary; } catch (Exception ex) { Logger.Log(LogSeverity.Error, "Spell Checking Service", ex); } return null; }