← Back to team overview

nunit-core team mailing list archive

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 <charlie@xxxxxxxxx>
Para: rcarrillopadron@xxxxxxxxx
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

-- 
You received this bug notification because you are a member of NUnit
Core Developers, which is the registrant for NUnit Framework.
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.





Follow ups

References