Comment 3 for bug 697919

Revision history for this message
Roberto Carrillo (rcarrillopadron) wrote : Re: [Bug 697919] Re: Exception in -Is.StringMatching(string)- method

I don't understand. I ran the "TestThatPasses()" method (below) and it passes.
It is the exactly same regular expression. Am I doing something wrong?

        [Test]
        public void Test_NUnitBug()
        {
            const string ExpectedString = "NUnit is :) happy!";
            Encoding encoding = Encoding.Unicode;
            byte[] bytes = encoding.GetBytes(ExpectedString);
            string actualString = encoding.GetString(bytes);

            Console.WriteLine(actualString);
            Console.WriteLine(ExpectedString);
            Console.WriteLine(actualString.Length);
            Console.WriteLine(ExpectedString.Length);
            Assert.That(actualString, Is.StringMatching(ExpectedString));
        }

        [Test]
        public void TestThatPasses()
        {
            const string ExpectedString = "NUnit is :) happy!";
            Console.WriteLine(ExpectedString);
            Console.WriteLine(ExpectedString.Length);
            Assert.That(ExpectedString, Is.StringMatching(ExpectedString));
        }

-Roberto

----- Mensaje original ----
De: Charlie Poole <email address hidden>
Para: <email address hidden>
Enviado: miƩrcoles, 5 de enero, 2011 19:38:48
Asunto: [Bug 697919] Re: Exception in -Is.StringMatching(string)- method

Is.StringMatching() takes a string argument, which is to be used as a
regular expression. Hence, it must be a valid regular expression. You
should either use Is.EqualTo() or escape the ')' like this: @"NUnit is
:\) happy!"

--
You received this bug notification because you are a direct subscriber
of the bug.
https://bugs.launchpad.net/bugs/697919

Title:
  Exception in -Is.StringMatching(string)- method

Status in NUnit Test Framework:
  New

Bug description:
  This is my code:

        [Test]
        public void Test_NUnitBug()
        {
            const string ExpectedString = "NUnit is :) happy!";
            Encoding encoding = Encoding.Unicode;
            byte[] bytes = encoding.GetBytes(ExpectedString);
            string actualString = encoding.GetString(bytes);

            Console.WriteLine(actualString);
            Console.WriteLine(ExpectedString);
            Console.WriteLine(actualString.Length);
            Console.WriteLine(ExpectedString.Length);
            Assert.That(actualString, Is.StringMatching(ExpectedString));
        }

This is the exception:

NUnit is :) happy!
NUnit is :) happy!
18
18

System.ArgumentException : parsing "NUnit is :) happy!" - Too many )'s.
at System.Text.RegularExpressions.RegexParser.ScanRegex()
at System.Text.RegularExpressions.RegexParser.Parse(String re, RegexOptions op)
at System.Text.RegularExpressions.Regex..ctor(String pattern, RegexOptions
options, Boolean useCache)
at System.Text.RegularExpressions.Regex.IsMatch(String input, String pattern,
RegexOptions options)
at NUnit.Framework.Constraints.RegexConstraint.Matches(Object actual)
at NUnit.Framework.Assert.That(Object actual, IResolveConstraint expression,
String message, Object[] args)
at MyCopy.Test_NUnitBug() in MyTest.cs: line 48

------
I ran NUnit using the console and ReSharper.

To unsubscribe from this bug, go to:
https://bugs.launchpad.net/nunit-3.0/+bug/697919/+subscribe