Merge pull request #601 from knocte/sock_improvements
[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
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                         Assert.AreEqual ("a", gen.CreateValidIdentifier ("a"));
38                         Assert.AreEqual ("_int", gen.CreateValidIdentifier ("int"));
39                         Assert.AreEqual ("_", gen.CreateValidIdentifier ("_"));
40                         Assert.AreEqual ("1", gen.CreateValidIdentifier ("1"));
41                         Assert.AreEqual ("1a", gen.CreateValidIdentifier ("1a"));
42                         Assert.AreEqual ("1*2", gen.CreateValidIdentifier ("1*2"));
43                         Assert.AreEqual ("-", gen.CreateValidIdentifier ("-"));
44                         Assert.AreEqual ("+", gen.CreateValidIdentifier ("+"));
45                         Assert.AreEqual ("", gen.CreateValidIdentifier (""));
46                         Assert.AreEqual ("--", gen.CreateValidIdentifier ("--"));
47                         Assert.AreEqual ("++", gen.CreateValidIdentifier ("++"));
48                         Assert.AreEqual ("\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                         Assert.AreEqual ("a", gen.CreateEscapedIdentifier ("a"));
63                         Assert.AreEqual ("@int", gen.CreateEscapedIdentifier ("int"));
64                         Assert.AreEqual ("_", gen.CreateEscapedIdentifier ("_"));
65                         Assert.AreEqual ("1", gen.CreateEscapedIdentifier ("1"));
66                         Assert.AreEqual ("1a", gen.CreateEscapedIdentifier ("1a"));
67                         Assert.AreEqual ("1*2", gen.CreateEscapedIdentifier ("1*2"));
68                         Assert.AreEqual ("-", gen.CreateEscapedIdentifier ("-"));
69                         Assert.AreEqual ("+", gen.CreateEscapedIdentifier ("+"));
70                         Assert.AreEqual ("", gen.CreateEscapedIdentifier (""));
71                         Assert.AreEqual ("--", gen.CreateEscapedIdentifier ("--"));
72                         Assert.AreEqual ("++", gen.CreateEscapedIdentifier ("++"));
73                         Assert.AreEqual ("\u3042", gen.CreateEscapedIdentifier ("\u3042"));
74                 }
75
76                 [Test]
77                 public void TestIsValidIdentifier ()
78                 {
79                         Assert.AreEqual (true, gen.IsValidIdentifier ("_a"));
80                         Assert.AreEqual (true, gen.IsValidIdentifier ("_"));
81                         Assert.AreEqual (true, gen.IsValidIdentifier ("@return"));
82                         Assert.AreEqual (true, gen.IsValidIdentifier ("d1"));
83                         Assert.AreEqual (true, gen.IsValidIdentifier ("_1"));
84                         Assert.AreEqual (true, gen.IsValidIdentifier ("_a_1"));
85                         Assert.AreEqual (true, gen.IsValidIdentifier ("@a"));
86                         Assert.AreEqual (false, gen.IsValidIdentifier ("1"));
87                         Assert.AreEqual (false, gen.IsValidIdentifier (" "));
88                         Assert.AreEqual (false, gen.IsValidIdentifier ("?"));
89                         Assert.AreEqual (false, gen.IsValidIdentifier (":_:"));
90                         Assert.AreEqual (false, gen.IsValidIdentifier ("_ "));
91                         Assert.AreEqual (false, gen.IsValidIdentifier ("@ "));
92                         Assert.AreEqual (false, gen.IsValidIdentifier ("1*2"));
93                         Assert.AreEqual (false, gen.IsValidIdentifier ("1_2"));
94                         Assert.AreEqual (gen.IsValidIdentifier ("a, b"), false);
95                 }
96         }
97 }