60 lines
1.5 KiB
C#
60 lines
1.5 KiB
C#
using System;
|
|
using System.Reflection;
|
|
using ln.parse.tokenizer;
|
|
using NUnit.Framework;
|
|
|
|
namespace ln.parse.tests
|
|
{
|
|
public class TokenizerTests
|
|
{
|
|
Tokenizer tokenizer;
|
|
|
|
[SetUp]
|
|
public void Setup()
|
|
{
|
|
tokenizer = Tokenizer.CreateDefaultTokenizer();
|
|
}
|
|
|
|
[Test]
|
|
public void Test_Integer()
|
|
{
|
|
Token[] token = tokenizer.Parse("654372");
|
|
|
|
TestContext.Out.WriteLine("Tokens: {0}", token);
|
|
|
|
Assert.AreEqual(1, token.Length);
|
|
Assert.IsTrue(token[0] is Token.IntegerToken);
|
|
Assert.AreEqual("654372", token[0].Value);
|
|
|
|
Assert.Pass();
|
|
}
|
|
|
|
[Test]
|
|
public void Test_Float()
|
|
{
|
|
Token[] token = tokenizer.Parse("654372.3524");
|
|
|
|
TestContext.Out.WriteLine("Tokens: {0}", token);
|
|
|
|
Assert.AreEqual(1, token.Length);
|
|
Assert.IsTrue(token[0] is Token.FloatToken);
|
|
Assert.AreEqual("654372.3524", token[0].Value);
|
|
|
|
Assert.Pass();
|
|
}
|
|
|
|
[Test]
|
|
public void Test_String()
|
|
{
|
|
Token[] token = tokenizer.Parse("\"Hallo Welt, ich bin ein \\\"String\\\"!\"");
|
|
|
|
TestContext.Out.WriteLine("Tokens: {0}", token);
|
|
|
|
Assert.AreEqual(1, token.Length);
|
|
Assert.IsTrue(token[0] is Token.StringToken);
|
|
Assert.AreEqual("\"Hallo Welt, ich bin ein \\\"String\\\"!\"", token[0].Value);
|
|
|
|
Assert.Pass();
|
|
}
|
|
}
|
|
} |