1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
2
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
7
using ICSharpCode.NRefactory.Parser;
8
using ICSharpCode.NRefactory.Ast;
10
namespace ICSharpCode.NRefactory.Tests.Ast
13
public class PrimitiveExpressionTests
17
public void CSharpHexIntegerTest1()
19
InvocationExpression invExpr = ParseUtilCSharp.ParseExpression<InvocationExpression>("0xAFFE.ToString()");
20
Assert.AreEqual(0, invExpr.Arguments.Count);
21
Assert.IsTrue(invExpr.TargetObject is MemberReferenceExpression);
22
MemberReferenceExpression fre = invExpr.TargetObject as MemberReferenceExpression;
23
Assert.AreEqual("ToString", fre.MemberName);
25
Assert.IsTrue(fre.TargetObject is PrimitiveExpression);
26
PrimitiveExpression pe = fre.TargetObject as PrimitiveExpression;
28
Assert.AreEqual("0xAFFE", pe.StringValue);
29
Assert.AreEqual(0xAFFE, (int)pe.Value);
34
public void CSharpDoubleTest1()
36
PrimitiveExpression pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>(".5e-06");
37
Assert.AreEqual(".5e-06", pe.StringValue);
38
Assert.AreEqual(.5e-06, (double)pe.Value);
42
public void CSharpCharTest1()
44
PrimitiveExpression pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>("'\\u0356'");
45
Assert.AreEqual("'\\u0356'", pe.StringValue);
46
Assert.AreEqual('\u0356', (char)pe.Value);
50
public void IntMinValueTest()
52
PrimitiveExpression pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>("-2147483648");
53
Assert.AreEqual(-2147483648, (int)pe.Value);
57
public void IntMaxValueTest()
59
PrimitiveExpression pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>("2147483647");
60
Assert.AreEqual(2147483647, (int)pe.Value);
62
pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>("2147483648");
63
Assert.AreEqual(2147483648, (uint)pe.Value);
67
public void LongMinValueTest()
69
PrimitiveExpression pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>("-9223372036854775808");
70
Assert.AreEqual(-9223372036854775808, (long)pe.Value);
74
public void LongMaxValueTest()
76
PrimitiveExpression pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>("9223372036854775807");
77
Assert.AreEqual(9223372036854775807, (long)pe.Value);
79
pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>("9223372036854775808");
80
Assert.AreEqual(9223372036854775808, (ulong)pe.Value);
84
public void CSharpStringTest1()
86
PrimitiveExpression pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>("\"\\n\\t\\u0005 Hello World !!!\"");
87
Assert.AreEqual("\"\\n\\t\\u0005 Hello World !!!\"", pe.StringValue);
88
Assert.AreEqual("\n\t\u0005 Hello World !!!", (string)pe.Value);
94
public void PrimitiveExpression1Test()
96
InvocationExpression ie = ParseUtilVBNet.ParseExpression<InvocationExpression>("546.ToString()");