From: Updike, C. <Cla...@jh...> - 2004-09-28 13:08:03
|
I think you want: TestCase.assert( "Problem", re.match( "20", "200" ) and 1 or 0) -Clark -----Original Message----- From: On Behalf Of Frank Cohen Sent: Tuesday, September 28, 2004 2:58 AM Subject: [Jython-users] Jython, re, jUnit I'm trying to use jUnit, re, and Jython in a test script. Here's how I would like to see the script: from junit.framework import TestCase import re TestCase.assert( "Problem", re.match( "20", "200" ) ) The problem with this code is the re.match function returns None or org.python.modules.sre.MatchObject. This causes TestCase.assert to throw a "2nd arg can't be coerced to boolean" exception. I must be missing something simple but it's late and I'm seeking your help. -Frank --- Frank Cohen, PushToTest, http://www.PushToTest.com, phone: 408 374 7426 Author of "Java Testing and Design: From Unit Tests to Automated Web Tests" from Prentice Hall, details at http://thebook.pushtotest.com |
From: Jeff E. <JEm...@lg...> - 2004-09-28 21:30:05
|
The re library API is defined by Python. Modifying it independent of Python would be a bad thing. You can create your own convenience match function that behaves as you wish. def match(a,b): result=3Dre.match(a,b) return result!=3DNone TestCase.assert("Problem", match("20","200")) -----Original Message----- From: jyt...@li... [mailto:jyt...@li...] On Behalf Of Frank Cohen Sent: Tuesday, September 28, 2004 2:36 PM To: jyt...@li... Subject: Re: [Jython-users] Jython, re, jUnit Thanks Clark and Neil. re.match( "20", "200" ) not equal to None re.match( "20", "200" ) and 1 Both seem reminiscent of Bash scripting to me, and that's why I don't=20 like Bash scripting. :-) It seems to me the better way would be to have=20 a convenience method like: re.match("20", "200").toBoolean() What do you think about my patching the re library to do so? -Frank On Sep 28, 2004, at 6:07 AM, Updike, Clark wrote: > I think you want: > > TestCase.assert( "Problem", re.match( "20", "200" ) and 1 or 0) > > -Clark > > -----Original Message----- > From: On Behalf Of Frank Cohen > Sent: Tuesday, September 28, 2004 2:58 AM > Subject: [Jython-users] Jython, re, jUnit > > > I'm trying to use jUnit, re, and Jython in a test script. Here's how I > would like to see the script: > > from junit.framework import TestCase > import re > TestCase.assert( "Problem", re.match( "20", "200" ) ) > > The problem with this code is the re.match function returns None or > org.python.modules.sre.MatchObject. This causes TestCase.assert to > throw a "2nd arg can't be coerced to boolean" exception. > > I must be missing something simple but it's late and I'm seeking your > help. > > -Frank > > > --- > Frank Cohen, PushToTest, http://www.PushToTest.com, phone: 408 374 7426 > Author of "Java Testing and Design: From Unit Tests to Automated Web > Tests" > from Prentice Hall, details at http://thebook.pushtotest.com > > --- Frank Cohen, PushToTest, http://www.PushToTest.com, phone: 408 374 7426 Author of "Java Testing and Design: From Unit Tests to Automated Web=20 Tests" from Prentice Hall, details at http://thebook.pushtotest.com ------------------------------------------------------- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl _______________________________________________ Jython-users mailing list Jyt...@li... https://lists.sourceforge.net/lists/listinfo/jython-users |
From: Updike, C. <Cla...@jh...> - 2004-09-28 21:37:55
|
The match object has additional functionality: <http://docs.python.org/lib/match-objects.html> So you don't want to change that (plus you break compatibility with python). Think of it as just doing a null test in java. -Clark -----Original Message----- From: On Behalf Of Frank Cohen Sent: Tuesday, September 28, 2004 4:36 PM Subject: Re: [Jython-users] Jython, re, jUnit Thanks Clark and Neil. re.match( "20", "200" ) not equal to None re.match( "20", "200" ) and 1 Both seem reminiscent of Bash scripting to me, and that's why I don't like Bash scripting. :-) It seems to me the better way would be to have a convenience method like: re.match("20", "200").toBoolean() What do you think about my patching the re library to do so? -Frank On Sep 28, 2004, at 6:07 AM, Updike, Clark wrote: > I think you want: > > TestCase.assert( "Problem", re.match( "20", "200" ) and 1 or 0) > > -Clark > > -----Original Message----- > From: On Behalf Of Frank Cohen > Sent: Tuesday, September 28, 2004 2:58 AM > Subject: [Jython-users] Jython, re, jUnit > > > I'm trying to use jUnit, re, and Jython in a test script. Here's how I > would like to see the script: > > from junit.framework import TestCase > import re > TestCase.assert( "Problem", re.match( "20", "200" ) ) > > The problem with this code is the re.match function returns None or > org.python.modules.sre.MatchObject. This causes TestCase.assert to > throw a "2nd arg can't be coerced to boolean" exception. > > I must be missing something simple but it's late and I'm seeking your > help. > > -Frank |
From: Frank C. <fc...@pu...> - 2004-09-28 20:35:49
|
Thanks Clark and Neil. re.match( "20", "200" ) not equal to None re.match( "20", "200" ) and 1 Both seem reminiscent of Bash scripting to me, and that's why I don't like Bash scripting. :-) It seems to me the better way would be to have a convenience method like: re.match("20", "200").toBoolean() What do you think about my patching the re library to do so? -Frank On Sep 28, 2004, at 6:07 AM, Updike, Clark wrote: > I think you want: > > TestCase.assert( "Problem", re.match( "20", "200" ) and 1 or 0) > > -Clark > > -----Original Message----- > From: On Behalf Of Frank Cohen > Sent: Tuesday, September 28, 2004 2:58 AM > Subject: [Jython-users] Jython, re, jUnit > > > I'm trying to use jUnit, re, and Jython in a test script. Here's how I > would like to see the script: > > from junit.framework import TestCase > import re > TestCase.assert( "Problem", re.match( "20", "200" ) ) > > The problem with this code is the re.match function returns None or > org.python.modules.sre.MatchObject. This causes TestCase.assert to > throw a "2nd arg can't be coerced to boolean" exception. > > I must be missing something simple but it's late and I'm seeking your > help. > > -Frank > > > --- > Frank Cohen, PushToTest, http://www.PushToTest.com, phone: 408 374 7426 > Author of "Java Testing and Design: From Unit Tests to Automated Web > Tests" > from Prentice Hall, details at http://thebook.pushtotest.com > > --- Frank Cohen, PushToTest, http://www.PushToTest.com, phone: 408 374 7426 Author of "Java Testing and Design: From Unit Tests to Automated Web Tests" from Prentice Hall, details at http://thebook.pushtotest.com |
From: Samuele P. <ped...@bl...> - 2004-09-28 22:08:47
|
Frank Cohen wrote: > Thanks Clark and Neil. > > re.match( "20", "200" ) not equal to None > re.match( "20", "200" ) and 1 > > Both seem reminiscent of Bash scripting to me, and that's why I don't > like Bash scripting. :-) It seems to me the better way would be to have > a convenience method like: > > re.match("20", "200").toBoolean() > > What do you think about my patching the re library to do so? > once we have bool (either the type or a faking function) one can write bool(re.match("20", "200")) Already in 2.1 you can do: import operator bool = operator.truth |