2 * Karinto Library Project
\r
4 * This software is distributed under a zlib-style license.
\r
5 * See license.txt for more information.
\r
9 using System.Collections.Generic;
\r
11 using System.Text.RegularExpressions;
\r
12 using System.Diagnostics;
\r
14 using NUnit.Framework;
\r
16 namespace KarintoTest
\r
19 public class RegexSetTest
\r
22 public void DecimalFloat()
\r
24 Regex r = RegexSet.DecimalFloat;
\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
33 Assert.AreEqual(false, r.IsMatch("0x12"));
\r
34 Assert.AreEqual(false, r.IsMatch("123h"));
\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
41 public void HexInteger()
\r
43 Regex r = RegexSet.HexInteger;
\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
53 Assert.AreEqual(false, r.IsMatch("0xG"));
\r
54 Assert.AreEqual(false, r.IsMatch("0X1234"));
\r
55 Assert.AreEqual(false, r.IsMatch("0x5678h"));
\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
62 public void QuotedString()
\r
64 Regex r = RegexSet.QuotedString;
\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