2009-06-12 Bill Holmes <billholmes54@gmail.com>
[mono.git] / mcs / class / System / Test / Microsoft.CSharp / CodeGeneratorIdentifierTest.cs
1 //
2 // CodeGeneratorIdentifierTest.cs
3 //
4 // Author:
5 //      Atsushi Enomoto <atsushi@ximian.com>
6 //
7 // (C)2004 Novell inc.
8 //
9 using System;
10 using System.CodeDom.Compiler;
11 using NUnit.Framework;
12 using Microsoft.CSharp;
13
14 namespace MonoTests.Microsoft.CSharp
15 {
16         [TestFixture]
17         public class CodeGeneratorIdentifierTest : Assertion
18         {
19                 private ICodeGenerator gen;
20
21                 public CodeGeneratorIdentifierTest ()
22                 {
23                         gen = new CSharpCodeProvider ().CreateGenerator ();
24                 }
25
26                 [Test]
27                 [ExpectedException (typeof (NullReferenceException))]
28                 public void TestCreateValidIdentifierNullArg ()
29                 {
30                         gen.CreateValidIdentifier (null);
31                 }
32
33                 [Test]
34                 public void TestCreateValidIdentifier ()
35                 {
36                 
37                         AssertEquals ("a", gen.CreateValidIdentifier ("a"));
38                         AssertEquals ("_int", gen.CreateValidIdentifier ("int"));
39                         AssertEquals ("_", gen.CreateValidIdentifier ("_"));
40                         AssertEquals ("1", gen.CreateValidIdentifier ("1"));
41                         AssertEquals ("1a", gen.CreateValidIdentifier ("1a"));
42                         AssertEquals ("1*2", gen.CreateValidIdentifier ("1*2"));
43                         AssertEquals ("-", gen.CreateValidIdentifier ("-"));
44                         AssertEquals ("+", gen.CreateValidIdentifier ("+"));
45                         AssertEquals ("", gen.CreateValidIdentifier (""));
46                         AssertEquals ("--", gen.CreateValidIdentifier ("--"));
47                         AssertEquals ("++", gen.CreateValidIdentifier ("++"));
48                         AssertEquals ("\u3042", gen.CreateValidIdentifier ("\u3042"));
49                 }
50
51                 [Test]
52                 [ExpectedException (typeof (NullReferenceException))]
53                 public void TestCreateEscapedIdentifierNullArg ()
54                 {
55                         gen.CreateEscapedIdentifier (null);
56                 }
57
58                 [Test]
59                 public void TestCreateEscapedIdentifier ()
60                 {
61                 
62                         AssertEquals ("a", gen.CreateEscapedIdentifier ("a"));
63                         AssertEquals ("@int", gen.CreateEscapedIdentifier ("int"));
64                         AssertEquals ("_", gen.CreateEscapedIdentifier ("_"));
65                         AssertEquals ("1", gen.CreateEscapedIdentifier ("1"));
66                         AssertEquals ("1a", gen.CreateEscapedIdentifier ("1a"));
67                         AssertEquals ("1*2", gen.CreateEscapedIdentifier ("1*2"));
68                         AssertEquals ("-", gen.CreateEscapedIdentifier ("-"));
69                         AssertEquals ("+", gen.CreateEscapedIdentifier ("+"));
70                         AssertEquals ("", gen.CreateEscapedIdentifier (""));
71                         AssertEquals ("--", gen.CreateEscapedIdentifier ("--"));
72                         AssertEquals ("++", gen.CreateEscapedIdentifier ("++"));
73                         AssertEquals ("\u3042", gen.CreateEscapedIdentifier ("\u3042"));
74                 }
75
76                 [Test]
77                 public void TestIsValidIdentifier ()
78                 {
79                         AssertEquals (true, gen.IsValidIdentifier ("_a"));
80                         AssertEquals (true, gen.IsValidIdentifier ("_"));
81                         AssertEquals (true, gen.IsValidIdentifier ("@return"));
82                         AssertEquals (true, gen.IsValidIdentifier ("d1"));
83                         AssertEquals (true, gen.IsValidIdentifier ("_1"));
84                         AssertEquals (true, gen.IsValidIdentifier ("_a_1"));
85                         AssertEquals (true, gen.IsValidIdentifier ("@a"));
86                         AssertEquals (false, gen.IsValidIdentifier ("1"));
87                         AssertEquals (false, gen.IsValidIdentifier (" "));
88                         AssertEquals (false, gen.IsValidIdentifier ("?"));
89                         AssertEquals (false, gen.IsValidIdentifier (":_:"));
90                         AssertEquals (false, gen.IsValidIdentifier ("_ "));
91                         AssertEquals (false, gen.IsValidIdentifier ("@ "));
92                         AssertEquals (false, gen.IsValidIdentifier ("1*2"));
93                         AssertEquals (false, gen.IsValidIdentifier ("1_2"));
94                         AssertEquals (false, gen.IsValidIdentifier ("a,b"));
95                 }
96         }
97 }