using System; using NUnit.Framework; using UnityEngine; [Category("Text")] public class FontCreatedByScript { static Font CreateDefaultFontWithOneCharacter(int character) { var font = new Font(); CharacterInfo[] characterInfo = new CharacterInfo[1]; characterInfo[0].index = character; font.characterInfo = characterInfo; return font; } [Test] public static void GetCharacterInfo_FindsCharacterInfoThatIsInSet() { char character = 'A'; int charIndex = Convert.ToInt32(character); var font = CreateDefaultFontWithOneCharacter(charIndex); CharacterInfo result = new CharacterInfo(); Assert.IsTrue(font.GetCharacterInfo(character, out result), "Could not find character info for '" + character + "' even though the Font contains it."); Assert.AreEqual(charIndex, result.index, "Incorrect character info was returned for " + character); } [Test] public static void GetCharacterInfo_DoesNotFindCharacterInfoThatIsNotInSet() { char character = 'A'; char characterNotInSet = 'X'; int charIndex = Convert.ToInt32(character); var font = CreateDefaultFontWithOneCharacter(charIndex); CharacterInfo result; Assert.IsFalse(font.GetCharacterInfo(characterNotInSet, out result), "Found character info for '" + characterNotInSet + "' even though the Font does not contain it."); } [Test] public static void HasCharacterReturns8BitChars() { char character = 'A'; int charIndex = Convert.ToInt32(character); var font = CreateDefaultFontWithOneCharacter(charIndex); Assert.IsTrue(font.HasCharacter(character), "HasCharacter returned false even though it should have " + character); } [Test] public static void HasCharacterReturns16BitChars() { char character = '\u03A9'; int charIndex = Convert.ToInt32(character); var font = CreateDefaultFontWithOneCharacter(charIndex); Assert.IsTrue(font.HasCharacter(character), "HasCharacter returned false even though it should have " + character); } }