ln.parse/ln.parse.tests/TokenizerTests.cs

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();
}
}
}