File size: 2,159 Bytes
18a519f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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);
    }
}