OSDN Git Service

NUnit 2.6に移行
[karinto/karinto.git] / KarintoTest / RegexSetTest.cs
1 /*\r
2  *      Karinto Library Project\r
3  *\r
4  *      This software is distributed under a zlib-style license.\r
5  *      See license.txt for more information.\r
6  */\r
7 \r
8 using System;\r
9 using System.Collections.Generic;\r
10 using System.Text;\r
11 using System.Text.RegularExpressions;\r
12 using System.Diagnostics;\r
13 using Karinto;\r
14 using NUnit.Framework;\r
15 \r
16 namespace KarintoTest\r
17 {\r
18     [TestFixture]\r
19     public class RegexSetTest\r
20     {\r
21         [Test]\r
22         public void DecimalFloat()\r
23         {\r
24             Regex r = RegexSet.DecimalFloat;\r
25 \r
26             Assert.AreEqual("01234", r.Match("01234").Groups[1].Value);\r
27             Assert.AreEqual("-56.789", r.Match("-56.789").Groups[1].Value);\r
28             Assert.AreEqual(".1234", r.Match(".1234").Groups[1].Value);\r
29             Assert.AreEqual("1e2", r.Match("1e2").Groups[1].Value);\r
30             Assert.AreEqual("+3.4e+5", r.Match("Prefix +3.4e+5").Groups[1].Value);\r
31             Assert.AreEqual("-3.4E-5", r.Match("-3.4E-5 Suffix").Groups[1].Value);\r
32 \r
33             Assert.AreEqual(false, r.IsMatch("0x12"));\r
34             Assert.AreEqual(false, r.IsMatch("123h"));\r
35 \r
36             Assert.AreEqual("+1.23e4", r.Matches("+1.23e4 -56.7e-8")[0].Groups[1].Value);\r
37             Assert.AreEqual("-56.7e-8", r.Matches("+1.23e4 -56.7e-8")[1].Groups[1].Value);\r
38         }\r
39 \r
40         [Test]\r
41         public void HexInteger()\r
42         {\r
43             Regex r = RegexSet.HexInteger;\r
44 \r
45             Assert.AreEqual("01234567", r.Match("01234567").Groups[1].Value);\r
46             Assert.AreEqual("89ABCDEF", r.Match("89ABCDEF").Groups[1].Value);\r
47             Assert.AreEqual("abcdef", r.Match("abcdef").Groups[1].Value);\r
48             Assert.AreEqual("1Aa", r.Match("0x1Aa").Groups[1].Value);\r
49             Assert.AreEqual("2Bb", r.Match("2Bbh").Groups[1].Value);\r
50             Assert.AreEqual("3Cc", r.Match("Prefix 3Cc").Groups[1].Value);\r
51             Assert.AreEqual("4Dd", r.Match("4Dd suffix").Groups[1].Value);\r
52 \r
53             Assert.AreEqual(false, r.IsMatch("0xG"));\r
54             Assert.AreEqual(false, r.IsMatch("0X1234"));\r
55             Assert.AreEqual(false, r.IsMatch("0x5678h"));\r
56 \r
57             Assert.AreEqual("1234", r.Matches("1234 abcd")[0].Groups[1].Value);\r
58             Assert.AreEqual("abcd", r.Matches("1234 abcd")[1].Groups[1].Value);\r
59         }\r
60 \r
61         [Test]\r
62         public void QuotedString()\r
63         {\r
64             Regex r = RegexSet.QuotedString;\r
65 \r
66             Assert.AreEqual("Karinto", r.Match("\"Karinto\"").Groups[1].Value);\r
67             Assert.AreEqual("Karinto", r.Match("\"Karinto\"Test").Groups[1].Value);\r
68             Assert.AreEqual("Ka\"\"ri\"\"n\"\"to", \r
69                         r.Match("\"Ka\"\"ri\"\"n\"\"to\"").Groups[1].Value);\r
70         }\r
71     }\r
72 }\r