📄 lexertests.cs
字号:
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="none" email=""/>
// <version>$Revision: 915 $</version>
// </file>
using System;
using System.IO;
using NUnit.Framework;
using ICSharpCode.NRefactory.Parser;
using ICSharpCode.NRefactory.Parser.CSharp;
using ICSharpCode.NRefactory.PrettyPrinter;
namespace ICSharpCode.NRefactory.Tests.Lexer.CSharp
{
[TestFixture]
public sealed class LexerTests
{
ILexer GenerateLexer(StringReader sr)
{
return ParserFactory.CreateLexer(SupportedLanguage.CSharp, sr);
}
[Test]
public void TestAssign()
{
ILexer lexer = GenerateLexer(new StringReader("="));
Assert.AreEqual(Tokens.Assign, lexer.NextToken().kind);
}
[Test]
public void TestPlus()
{
ILexer lexer = GenerateLexer(new StringReader("+"));
Assert.AreEqual(Tokens.Plus, lexer.NextToken().kind);
}
[Test]
public void TestMinus()
{
ILexer lexer = GenerateLexer(new StringReader("-"));
Assert.AreEqual(Tokens.Minus, lexer.NextToken().kind);
}
[Test]
public void TestTimes()
{
ILexer lexer = GenerateLexer(new StringReader("*"));
Assert.AreEqual(Tokens.Times, lexer.NextToken().kind);
}
[Test]
public void TestDiv()
{
ILexer lexer = GenerateLexer(new StringReader("/"));
Assert.AreEqual(Tokens.Div, lexer.NextToken().kind);
}
[Test]
public void TestMod()
{
ILexer lexer = GenerateLexer(new StringReader("%"));
Assert.AreEqual(Tokens.Mod, lexer.NextToken().kind);
}
[Test]
public void TestColon()
{
ILexer lexer = GenerateLexer(new StringReader(":"));
Assert.AreEqual(Tokens.Colon, lexer.NextToken().kind);
}
[Test]
public void TestDoubleColon()
{
ILexer lexer = GenerateLexer(new StringReader("::"));
Assert.AreEqual(Tokens.DoubleColon, lexer.NextToken().kind);
}
[Test]
public void TestSemicolon()
{
ILexer lexer = GenerateLexer(new StringReader(";"));
Assert.AreEqual(Tokens.Semicolon, lexer.NextToken().kind);
}
[Test]
public void TestQuestion()
{
ILexer lexer = GenerateLexer(new StringReader("?"));
Assert.AreEqual(Tokens.Question, lexer.NextToken().kind);
}
[Test]
public void TestDoubleQuestion()
{
ILexer lexer = GenerateLexer(new StringReader("??"));
Assert.AreEqual(Tokens.DoubleQuestion, lexer.NextToken().kind);
}
[Test]
public void TestComma()
{
ILexer lexer = GenerateLexer(new StringReader(","));
Assert.AreEqual(Tokens.Comma, lexer.NextToken().kind);
}
[Test]
public void TestDot()
{
ILexer lexer = GenerateLexer(new StringReader("."));
Assert.AreEqual(Tokens.Dot, lexer.NextToken().kind);
}
[Test]
public void TestOpenCurlyBrace()
{
ILexer lexer = GenerateLexer(new StringReader("{"));
Assert.AreEqual(Tokens.OpenCurlyBrace, lexer.NextToken().kind);
}
[Test]
public void TestCloseCurlyBrace()
{
ILexer lexer = GenerateLexer(new StringReader("}"));
Assert.AreEqual(Tokens.CloseCurlyBrace, lexer.NextToken().kind);
}
[Test]
public void TestOpenSquareBracket()
{
ILexer lexer = GenerateLexer(new StringReader("["));
Assert.AreEqual(Tokens.OpenSquareBracket, lexer.NextToken().kind);
}
[Test]
public void TestCloseSquareBracket()
{
ILexer lexer = GenerateLexer(new StringReader("]"));
Assert.AreEqual(Tokens.CloseSquareBracket, lexer.NextToken().kind);
}
[Test]
public void TestOpenParenthesis()
{
ILexer lexer = GenerateLexer(new StringReader("("));
Assert.AreEqual(Tokens.OpenParenthesis, lexer.NextToken().kind);
}
[Test]
public void TestCloseParenthesis()
{
ILexer lexer = GenerateLexer(new StringReader(")"));
Assert.AreEqual(Tokens.CloseParenthesis, lexer.NextToken().kind);
}
[Test]
public void TestGreaterThan()
{
ILexer lexer = GenerateLexer(new StringReader(">"));
Assert.AreEqual(Tokens.GreaterThan, lexer.NextToken().kind);
}
[Test]
public void TestLessThan()
{
ILexer lexer = GenerateLexer(new StringReader("<"));
Assert.AreEqual(Tokens.LessThan, lexer.NextToken().kind);
}
[Test]
public void TestNot()
{
ILexer lexer = GenerateLexer(new StringReader("!"));
Assert.AreEqual(Tokens.Not, lexer.NextToken().kind);
}
[Test]
public void TestLogicalAnd()
{
ILexer lexer = GenerateLexer(new StringReader("&&"));
Assert.AreEqual(Tokens.LogicalAnd, lexer.NextToken().kind);
}
[Test]
public void TestLogicalOr()
{
ILexer lexer = GenerateLexer(new StringReader("||"));
Assert.AreEqual(Tokens.LogicalOr, lexer.NextToken().kind);
}
[Test]
public void TestBitwiseComplement()
{
ILexer lexer = GenerateLexer(new StringReader("~"));
Assert.AreEqual(Tokens.BitwiseComplement, lexer.NextToken().kind);
}
[Test]
public void TestBitwiseAnd()
{
ILexer lexer = GenerateLexer(new StringReader("&"));
Assert.AreEqual(Tokens.BitwiseAnd, lexer.NextToken().kind);
}
[Test]
public void TestBitwiseOr()
{
ILexer lexer = GenerateLexer(new StringReader("|"));
Assert.AreEqual(Tokens.BitwiseOr, lexer.NextToken().kind);
}
[Test]
public void TestXor()
{
ILexer lexer = GenerateLexer(new StringReader("^"));
Assert.AreEqual(Tokens.Xor, lexer.NextToken().kind);
}
[Test]
public void TestIncrement()
{
ILexer lexer = GenerateLexer(new StringReader("++"));
Assert.AreEqual(Tokens.Increment, lexer.NextToken().kind);
}
[Test]
public void TestDecrement()
{
ILexer lexer = GenerateLexer(new StringReader("--"));
Assert.AreEqual(Tokens.Decrement, lexer.NextToken().kind);
}
[Test]
public void TestEqual()
{
ILexer lexer = GenerateLexer(new StringReader("=="));
Assert.AreEqual(Tokens.Equal, lexer.NextToken().kind);
}
[Test]
public void TestNotEqual()
{
ILexer lexer = GenerateLexer(new StringReader("!="));
Assert.AreEqual(Tokens.NotEqual, lexer.NextToken().kind);
}
[Test]
public void TestGreaterEqual()
{
ILexer lexer = GenerateLexer(new StringReader(">="));
Assert.AreEqual(Tokens.GreaterEqual, lexer.NextToken().kind);
}
[Test]
public void TestLessEqual()
{
ILexer lexer = GenerateLexer(new StringReader("<="));
Assert.AreEqual(Tokens.LessEqual, lexer.NextToken().kind);
}
[Test]
public void TestShiftLeft()
{
ILexer lexer = GenerateLexer(new StringReader("<<"));
Assert.AreEqual(Tokens.ShiftLeft, lexer.NextToken().kind);
}
[Test]
public void TestPlusAssign()
{
ILexer lexer = GenerateLexer(new StringReader("+="));
Assert.AreEqual(Tokens.PlusAssign, lexer.NextToken().kind);
}
[Test]
public void TestMinusAssign()
{
ILexer lexer = GenerateLexer(new StringReader("-="));
Assert.AreEqual(Tokens.MinusAssign, lexer.NextToken().kind);
}
[Test]
public void TestTimesAssign()
{
ILexer lexer = GenerateLexer(new StringReader("*="));
Assert.AreEqual(Tokens.TimesAssign, lexer.NextToken().kind);
}
[Test]
public void TestDivAssign()
{
ILexer lexer = GenerateLexer(new StringReader("/="));
Assert.AreEqual(Tokens.DivAssign, lexer.NextToken().kind);
}
[Test]
public void TestModAssign()
{
ILexer lexer = GenerateLexer(new StringReader("%="));
Assert.AreEqual(Tokens.ModAssign, lexer.NextToken().kind);
}
[Test]
public void TestBitwiseAndAssign()
{
ILexer lexer = GenerateLexer(new StringReader("&="));
Assert.AreEqual(Tokens.BitwiseAndAssign, lexer.NextToken().kind);
}
[Test]
public void TestBitwiseOrAssign()
{
ILexer lexer = GenerateLexer(new StringReader("|="));
Assert.AreEqual(Tokens.BitwiseOrAssign, lexer.NextToken().kind);
}
[Test]
public void TestXorAssign()
{
ILexer lexer = GenerateLexer(new StringReader("^="));
Assert.AreEqual(Tokens.XorAssign, lexer.NextToken().kind);
}
[Test]
public void TestShiftLeftAssign()
{
ILexer lexer = GenerateLexer(new StringReader("<<="));
Assert.AreEqual(Tokens.ShiftLeftAssign, lexer.NextToken().kind);
}
[Test()]
public void TestAbstract()
{
ILexer lexer = GenerateLexer(new StringReader("abstract"));
Assert.AreEqual(Tokens.Abstract, lexer.NextToken().kind);
}
[Test()]
public void TestAs()
{
ILexer lexer = GenerateLexer(new StringReader("as"));
Assert.AreEqual(Tokens.As, lexer.NextToken().kind);
}
[Test()]
public void TestBase()
{
ILexer lexer = GenerateLexer(new StringReader("base"));
Assert.AreEqual(Tokens.Base, lexer.NextToken().kind);
}
[Test()]
public void TestBool()
{
ILexer lexer = GenerateLexer(new StringReader("bool"));
Assert.AreEqual(Tokens.Bool, lexer.NextToken().kind);
}
[Test()]
public void TestBreak()
{
ILexer lexer = GenerateLexer(new StringReader("break"));
Assert.AreEqual(Tokens.Break, lexer.NextToken().kind);
}
[Test()]
public void TestByte()
{
ILexer lexer = GenerateLexer(new StringReader("byte"));
Assert.AreEqual(Tokens.Byte, lexer.NextToken().kind);
}
[Test()]
public void TestCase()
{
ILexer lexer = GenerateLexer(new StringReader("case"));
Assert.AreEqual(Tokens.Case, lexer.NextToken().kind);
}
[Test()]
public void TestCatch()
{
ILexer lexer = GenerateLexer(new StringReader("catch"));
Assert.AreEqual(Tokens.Catch, lexer.NextToken().kind);
}
[Test()]
public void TestChar()
{
ILexer lexer = GenerateLexer(new StringReader("char"));
Assert.AreEqual(Tokens.Char, lexer.NextToken().kind);
}
[Test()]
public void TestChecked()
{
ILexer lexer = GenerateLexer(new StringReader("checked"));
Assert.AreEqual(Tokens.Checked, lexer.NextToken().kind);
}
[Test()]
public void TestClass()
{
ILexer lexer = GenerateLexer(new StringReader("class"));
Assert.AreEqual(Tokens.Class, lexer.NextToken().kind);
}
[Test()]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -