~halega/+junk/sharpdevelop

« back to all changes in this revision

Viewing changes to src/Libraries/NRefactory/Test/Parser/Expressions/PrimitiveExpressionTests.cs

  • Committer: sk
  • Date: 2011-09-10 05:17:57 UTC
  • Revision ID: halega@halega.com-20110910051757-qfouz1llya9m6boy
4.1.0.7915 Release Candidate 1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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)
 
3
 
 
4
using System;
 
5
using System.IO;
 
6
using NUnit.Framework;
 
7
using ICSharpCode.NRefactory.Parser;
 
8
using ICSharpCode.NRefactory.Ast;
 
9
 
 
10
namespace ICSharpCode.NRefactory.Tests.Ast
 
11
{
 
12
        [TestFixture]
 
13
        public class PrimitiveExpressionTests
 
14
        {
 
15
                #region C#
 
16
                [Test]
 
17
                public void CSharpHexIntegerTest1()
 
18
                {
 
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);
 
24
                        
 
25
                        Assert.IsTrue(fre.TargetObject is PrimitiveExpression);
 
26
                        PrimitiveExpression pe = fre.TargetObject as PrimitiveExpression;
 
27
                        
 
28
                        Assert.AreEqual("0xAFFE", pe.StringValue);
 
29
                        Assert.AreEqual(0xAFFE, (int)pe.Value);
 
30
                        
 
31
                }
 
32
                
 
33
                [Test]
 
34
                public void CSharpDoubleTest1()
 
35
                {
 
36
                        PrimitiveExpression pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>(".5e-06");
 
37
                        Assert.AreEqual(".5e-06", pe.StringValue);
 
38
                        Assert.AreEqual(.5e-06, (double)pe.Value);
 
39
                }
 
40
                
 
41
                [Test]
 
42
                public void CSharpCharTest1()
 
43
                {
 
44
                        PrimitiveExpression pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>("'\\u0356'");
 
45
                        Assert.AreEqual("'\\u0356'", pe.StringValue);
 
46
                        Assert.AreEqual('\u0356', (char)pe.Value);
 
47
                }
 
48
                
 
49
                [Test]
 
50
                public void IntMinValueTest()
 
51
                {
 
52
                        PrimitiveExpression pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>("-2147483648");
 
53
                        Assert.AreEqual(-2147483648, (int)pe.Value);
 
54
                }
 
55
                
 
56
                [Test]
 
57
                public void IntMaxValueTest()
 
58
                {
 
59
                        PrimitiveExpression pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>("2147483647");
 
60
                        Assert.AreEqual(2147483647, (int)pe.Value);
 
61
                        
 
62
                        pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>("2147483648");
 
63
                        Assert.AreEqual(2147483648, (uint)pe.Value);
 
64
                }
 
65
                
 
66
                [Test]
 
67
                public void LongMinValueTest()
 
68
                {
 
69
                        PrimitiveExpression pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>("-9223372036854775808");
 
70
                        Assert.AreEqual(-9223372036854775808, (long)pe.Value);
 
71
                }
 
72
                
 
73
                [Test]
 
74
                public void LongMaxValueTest()
 
75
                {
 
76
                        PrimitiveExpression pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>("9223372036854775807");
 
77
                        Assert.AreEqual(9223372036854775807, (long)pe.Value);
 
78
                        
 
79
                        pe = ParseUtilCSharp.ParseExpression<PrimitiveExpression>("9223372036854775808");
 
80
                        Assert.AreEqual(9223372036854775808, (ulong)pe.Value);
 
81
                }
 
82
                
 
83
                [Test]
 
84
                public void CSharpStringTest1()
 
85
                {
 
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);
 
89
                }
 
90
                #endregion
 
91
                
 
92
                #region VB.NET
 
93
                [Test]
 
94
                public void PrimitiveExpression1Test()
 
95
                {
 
96
                        InvocationExpression ie = ParseUtilVBNet.ParseExpression<InvocationExpression>("546.ToString()");
 
97
                }
 
98
                #endregion
 
99
        }
 
100
}