public void Load_Nonempty() { CoreWritingSystemDefinition ws1 = m_wsManager.Create("en"); ws1.CharacterSets.Add(new CharacterSetDefinition("main") { Characters = { "e", "f", "g", "h" } }); ws1.CharacterSets.Add(new CharacterSetDefinition("punctuation") { Characters = { ",", "!", "*" } }); ValidCharacters validChars = ValidCharacters.Load(ws1); var validCharsW = new ValidCharsWrapper(validChars); Assert.AreEqual(4, validCharsW.WordFormingCharacters.Count); Assert.IsTrue(validCharsW.WordFormingCharacters.Contains("e")); Assert.IsTrue(validCharsW.WordFormingCharacters.Contains("f")); Assert.IsTrue(validCharsW.WordFormingCharacters.Contains("g")); Assert.IsTrue(validCharsW.WordFormingCharacters.Contains("h")); Assert.AreEqual(3, validCharsW.OtherCharacters.Count); Assert.IsTrue(validCharsW.OtherCharacters.Contains(",")); Assert.IsTrue(validCharsW.OtherCharacters.Contains("!")); Assert.IsTrue(validCharsW.OtherCharacters.Contains("*")); CoreWritingSystemDefinition ws2 = m_wsManager.Create("en"); validChars.SaveTo(ws2); Assert.That(ws1.ValueEquals(ws2), Is.True); }
public void GetNaturalCharType(int codepoint, ValidCharacterType type) { CoreWritingSystemDefinition ws = m_wsManager.Create("en-US"); ValidCharacters validChars = ValidCharacters.Load(ws); Assert.AreEqual(type, ReflectionHelper.GetResult(validChars, "GetNaturalCharType", codepoint)); }
public void Load_ValidAndBogusCharacters() { CoreWritingSystemDefinition ws = m_wsManager.Create("en-US"); ws.CharacterSets.Add(new CharacterSetDefinition("main") { Characters = { "\u05F6", "g", "\u05F7", "h" } }); ws.CharacterSets.Add(new CharacterSetDefinition("numeric") { Characters = { "1" } }); ValidCharacters validChars = ValidCharacters.Load(ws, RememberError); var validCharsW = new ValidCharsWrapper(validChars); Assert.AreEqual(2, validCharsW.WordFormingCharacters.Count); Assert.IsTrue(validCharsW.WordFormingCharacters.Contains("g")); Assert.IsTrue(validCharsW.WordFormingCharacters.Contains("h")); Assert.AreEqual(1, validCharsW.NumericCharacters.Count); Assert.IsTrue(validCharsW.NumericCharacters.Contains("1")); Assert.AreEqual(0, validCharsW.OtherCharacters.Count); Assert.AreEqual("Invalid ValidChars field while loading the English (United States) writing system. " + "The following characters are invalid:" + Environment.NewLine + "\t\u05F6 (U+05F6)" + Environment.NewLine + "\t\u05F7 (U+05F7)" + Environment.NewLine + "Parameter name: ws", m_lastException.Message); }
public void Load_DuplicateCharacters() { CoreWritingSystemDefinition ws = m_wsManager.Create("en-US"); ws.CharacterSets.Add(new CharacterSetDefinition("main") { Characters = { "a", "a" } }); ws.CharacterSets.Add(new CharacterSetDefinition("numeric") { Characters = { "4", "4" } }); ws.CharacterSets.Add(new CharacterSetDefinition("punctuation") { Characters = { "'", "'" } }); ValidCharacters validChars = ValidCharacters.Load(ws); var validCharsW = new ValidCharsWrapper(validChars); Assert.AreEqual(1, validCharsW.WordFormingCharacters.Count); Assert.IsTrue(validCharsW.WordFormingCharacters.Contains("a")); Assert.AreEqual(1, validCharsW.NumericCharacters.Count); Assert.IsTrue(validCharsW.NumericCharacters.Contains("4")); Assert.AreEqual(1, validCharsW.OtherCharacters.Count); Assert.IsTrue(validCharsW.OtherCharacters.Contains("'")); }
public void AddCharacter_DuplicateOfOverriddenWordFormingChar() { CoreWritingSystemDefinition ws = m_wsManager.Create("en-US"); ws.CharacterSets.Add(new CharacterSetDefinition("main") { Characters = { "a", "-" } }); ws.CharacterSets.Add(new CharacterSetDefinition("punctuation") { Characters = { "{" } }); ValidCharacters validChars = ValidCharacters.Load(ws); var validCharsW = new ValidCharsWrapper(validChars); Assert.AreEqual(2, validCharsW.WordFormingCharacters.Count); Assert.AreEqual(0, validCharsW.NumericCharacters.Count); Assert.AreEqual(1, validCharsW.OtherCharacters.Count); Assert.IsTrue(validChars.IsWordForming("-")); Assert.IsFalse(validChars.IsWordForming("{")); validChars.AddCharacter("-"); Assert.AreEqual(2, validCharsW.WordFormingCharacters.Count); Assert.IsTrue(validCharsW.WordFormingCharacters.Contains("a")); Assert.IsTrue(validCharsW.WordFormingCharacters.Contains("-")); Assert.IsTrue(validChars.IsWordForming("-")); Assert.AreEqual(0, validCharsW.NumericCharacters.Count); Assert.AreEqual(1, validCharsW.OtherCharacters.Count); Assert.IsTrue(validCharsW.OtherCharacters.Contains("{")); Assert.IsFalse(validChars.IsWordForming("{")); }
public void SortAfterAddRange() { CoreWritingSystemDefinition ws = m_wsManager.Create("en"); ValidCharacters validChars = ValidCharacters.Load(ws); validChars.AddCharacters(new[] { "z", "c", "t", "b", "8", "7", "6", "5" }); VerifySortOrder(validChars); }
public void IsWordFormingChar() { CoreWritingSystemDefinition ws = m_wsManager.Create("en-US"); ws.CharacterSets.Add(new CharacterSetDefinition("main") { Characters = { "a", "b", "c", "d", "e", "#" } }); ValidCharacters validChars = ValidCharacters.Load(ws); Assert.IsTrue(validChars.IsWordForming('#')); }
public void Load_Empty() { CoreWritingSystemDefinition ws1 = m_wsManager.Create("en"); ValidCharacters validChars = ValidCharacters.Load(ws1); Assert.That(validChars.WordFormingCharacters, Is.Empty); Assert.That(validChars.OtherCharacters, Is.Empty); CoreWritingSystemDefinition ws2 = m_wsManager.Create("en"); validChars.SaveTo(ws2); Assert.That(ws1.ValueEquals(ws2), Is.True); }
public void AddCharacter_SuperscriptedToneNumber() { CoreWritingSystemDefinition ws = m_wsManager.Create("en-US"); ValidCharacters validChars = ValidCharacters.Load(ws); var validCharsW = new ValidCharsWrapper(validChars); validChars.AddCharacter("\u00b9"); validChars.AddCharacter("\u2079"); Assert.AreEqual(2, validCharsW.WordFormingCharacters.Count); Assert.IsTrue(validCharsW.WordFormingCharacters.Contains("\u00b9")); Assert.IsTrue(validCharsW.WordFormingCharacters.Contains("\u2079")); Assert.AreEqual(0, validCharsW.OtherCharacters.Count); }
public void Load_AllowGroupedCombiningDiacritics() { CoreWritingSystemDefinition ws = m_wsManager.Create("en-US"); ws.CharacterSets.Add(new CharacterSetDefinition("main") { Characters = { "a\u0301" } }); // combining acute accent var validChars = ValidCharacters.Load(ws).WordFormingCharacters.ToList(); Assert.AreEqual(1, validChars.Count); CollectionAssert.Contains(validChars, "a\u0301"); }
public void Load_AllowHardLineBreakCharacter() { CoreWritingSystemDefinition ws1 = m_wsManager.Create("en"); ws1.CharacterSets.Add(new CharacterSetDefinition("punctuation") { Characters = { "\u2028" } }); ValidCharacters validChars = ValidCharacters.Load(ws1); var validCharsW = new ValidCharsWrapper(validChars); Assert.AreEqual(1, validCharsW.OtherCharacters.Count); Assert.IsTrue(validCharsW.OtherCharacters.Contains("\u2028")); }
public void Load_Empty() { CoreWritingSystemDefinition ws1 = m_wsManager.Create("en"); ValidCharacters validChars = ValidCharacters.Load(ws1, RememberError); var validCharsW = new ValidCharsWrapper(validChars); Assert.That(validCharsW.WordFormingCharacters, Is.Empty); Assert.That(validCharsW.NumericCharacters, Is.Empty); Assert.That(validCharsW.OtherCharacters, Is.Empty); CoreWritingSystemDefinition ws2 = m_wsManager.Create("en"); validChars.SaveTo(ws2); Assert.That(ws1.ValueEquals(ws2), Is.True); Assert.That(m_lastException, Is.Null); }
public void SortAfterAddSingles() { CoreWritingSystemDefinition ws = m_wsManager.Create("en"); ValidCharacters validChars = ValidCharacters.Load(ws); validChars.AddCharacter("z"); validChars.AddCharacter("c"); validChars.AddCharacter("t"); validChars.AddCharacter("b"); validChars.AddCharacter("8"); validChars.AddCharacter("7"); validChars.AddCharacter("6"); validChars.AddCharacter("5"); VerifySortOrder(validChars); }
public void Load_AllowMultigraphs() { CoreWritingSystemDefinition ws1 = m_wsManager.Create("en"); ws1.CharacterSets.Add(new CharacterSetDefinition("punctuation") { Characters = { "Ll", "Sch", "Th" } }); var validChars = ValidCharacters.Load(ws1).OtherCharacters.ToList(); Assert.AreEqual(3, validChars.Count); CollectionAssert.Contains(validChars, "Ll"); CollectionAssert.Contains(validChars, "Sch"); CollectionAssert.Contains(validChars, "Th"); }
public void GetNaturalCharType() { CoreWritingSystemDefinition ws = m_wsManager.Create("en-US"); ValidCharacters validChars = ValidCharacters.Load(ws); Assert.AreEqual(ValidCharacterType.WordForming, ReflectionHelper.GetResult(validChars, "GetNaturalCharType", (int)'a')); Assert.AreEqual(ValidCharacterType.WordForming, ReflectionHelper.GetResult(validChars, "GetNaturalCharType", 0x00B2)); Assert.AreEqual(ValidCharacterType.WordForming, ReflectionHelper.GetResult(validChars, "GetNaturalCharType", 0x2079)); Assert.AreEqual(ValidCharacterType.Numeric, ReflectionHelper.GetResult(validChars, "GetNaturalCharType", (int)'1')); Assert.AreEqual(ValidCharacterType.Other, ReflectionHelper.GetResult(validChars, "GetNaturalCharType", (int)' ')); }
public void Load_SingleCompoundBogusCharacter() { CoreWritingSystemDefinition ws = m_wsManager.Create("en-US"); ws.CharacterSets.Add(new CharacterSetDefinition("main") { Characters = { "\u200c\u0301" } }); var validChars = ValidCharacters.Load(ws, RememberError); VerifyDefaultWordFormingCharacters(validChars); Assert.AreEqual("Invalid ValidChars field while loading the English (United States) writing system. " + "The following characters are invalid:" + Environment.NewLine + "\t\u200c\u0301 (U+200C, U+0301)" + Environment.NewLine + "Parameter name: ws", m_lastException.Message); }
public void Load_SameCharacterInWordFormingAndPunctuationLists() { CoreWritingSystemDefinition ws = m_wsManager.Create("en-US"); ws.CharacterSets.Add(new CharacterSetDefinition("main") { Characters = { "'" } }); ws.CharacterSets.Add(new CharacterSetDefinition("punctuation") { Characters = { "'" } }); ValidCharacters validChars = ValidCharacters.Load(ws); var validCharsW = new ValidCharsWrapper(validChars); Assert.AreEqual(1, validCharsW.WordFormingCharacters.Count); Assert.IsTrue(validCharsW.WordFormingCharacters.Contains("'")); Assert.AreEqual(0, validCharsW.OtherCharacters.Count); }
public void AddCharacter_Duplicate() { CoreWritingSystemDefinition ws1 = m_wsManager.Create("en-US"); ValidCharacters validChars = ValidCharacters.Load(ws1); var validCharsW = new ValidCharsWrapper(validChars); validChars.AddCharacter("a"); validChars.AddCharacter("a"); Assert.AreEqual(1, validCharsW.WordFormingCharacters.Count); Assert.IsTrue(validCharsW.WordFormingCharacters.Contains("a")); Assert.AreEqual(0, validCharsW.OtherCharacters.Count); validChars.SaveTo(ws1); CoreWritingSystemDefinition ws2 = m_wsManager.Create("en-US"); ws2.CharacterSets.Add(new CharacterSetDefinition("main") { Characters = { "a" } }); Assert.That(ws1.ValueEquals(ws2), Is.True); }