[#4341] DRY and embedded docs. — Hugh Sasse Staff Elec Eng <hgs@...>
If I have a here document in some ruby program:
[#4347] Re: DATA and rewind. — ts <decoux@...>
>>>>> "H" == Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
[#4350] Re: Thirty-seven Reasons [Hal Fulton] Love[s] Ruby — "David Douthitt" <DDouthitt@...>
[#4396] Re: New Require (was: RAA development ideas (was: RE: Looking for inp ut on a 'links' page)) — Hugh Sasse Staff Elec Eng <hgs@...>
On 9 Aug 2000, Dave Thomas wrote:
[#4411] Re: RAA development ideas (was: RE: Lookin g for inp ut on a 'links' page) — Aleksi Niemel<aleksi.niemela@...>
Me:
On Thu, 10 Aug 2000, [iso-8859-1] Aleksi Niemelwrote:
[#4465] More RubyUnit questions. — Hugh Sasse Staff Elec Eng <hgs@...>
I am beginning to get a feel for this, but I still have a few more
[#4478] Re: RubyUnit. Warnings to be expected? — ts <decoux@...>
>>>>> "H" == Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
[#4481] Invoking an extension after compilation — Dave Thomas <Dave@...>
Hi,
[#4501] What's the biggest Ruby development? — Dave Thomas <Dave@...>
[#4502] methods w/ ! giving nil — Hugh Sasse Staff Elec Eng <hgs@...>
I have got used to the idea that methods that end in '!' return nil if
[#4503] RubyUnit and encapsulation. — Hugh Sasse Staff Elec Eng <hgs@...>
My_class's instance variables are not all "attr :<name>" type variables,
[#4537] Process.wait bug + fix — Brian Fundakowski Feldman <green@...>
If your system uses the rb_waitpid() codepath of rb_f_wait(),
[#4567] Re: What's the biggest Ruby development? — Aleksi Niemel<aleksi.niemela@...>
Dave said:
Robert Feldt <feldt@ce.chalmers.se> writes:
On Sat, 26 Aug 2000, Dave Thomas wrote:
Robert Feldt <feldt@ce.chalmers.se> writes:
On Mon, 28 Aug 2000, Dave Thomas wrote:
Robert Feldt <feldt@ce.chalmers.se> writes:
[#4591] Can't get Tcl/Tk working — Stephen White <steve@...>
I can't get any of the samples in the ext/tk/sample directory working. All
I'm sure looking forwards to buying the book. :)
Stephen White <steve@deaf.org> writes:
On Sun, 27 Aug 2000, Dave Thomas wrote:
Stephen White <steve@deaf.org> writes:
[#4608] Class methods — Mark Slagell <ms@...>
Reading the thread about regexp matches made me wonder about this:
[#4611] mod_ruby 0.1.19 — shreeve@...2s.org (Steve Shreeve)
Shugo (and others),
[#4633] Printing tables — DaVinci <bombadil@...>
Hi.
[#4647] Function argument lists in parentheses? — Toby Hutton <thutton@...>
Hello,
[#4652] Andy and Dave's European Tour 2000 — Dave Thomas <Dave@...>
Hi,
[#4672] calling super from c — Robert Feldt <feldt@...>
[#4699] Double parenthesis — Klaus Spreckelsen <ks@...1.ruhr-uni-bochum.de>
Why is the first line ok, but the second line is not?
[ruby-talk:4660] Re: RubyUnit testcase run for different init params?
Based on the previous discussion and the solution I ended up using I'd
suggest the following change to RubyUnit:
* When printing out info about a failure RUNIT::CUI:TestRunner should
print not only the file name and line number but the name of the class.
If the same test class is used for testing different parameter
combinations you may not know which combination was used (if you don't add
them to each and every assert error msg).
Example from current RubyUnit with test code below:
tests/Test_Rng.rb:126:in `test_07_rand_bignum': cnt = 0 The condition is
<false: FalseClass> (RUNIT::AssertionFailedError)
from tests/Test_Rng.rb:196
which I think should be
tests/Test_Rng.rb:126:in `Test_Rng_mt19937::test_07_rand_bignum': cnt = 0
The condition is <false: FalseClass> (RUNIT::AssertionFailedError)
from tests/Test_Rng.rb:196
Comments? Do you think this is so specific I should override RubyUnit
myself? Other ways to do it, Masaki?
Regards,
Robert
Code I use (Random::RngAlgorithms is Array with parameters I want to
test. All tests use @r.):
def derived_test_rng_class(alg)
"class Test_Rng_%s < Test_Rng\n" % alg +
" def setup\n" +
" @r = Rng.new('%s')\n" % alg +
" @alg = '%s'\n" % alg +
" end\n" +
"end\n"
end
class Test_Rng < RUNIT::TestCase
# Create subclasses for all the algorithms we want to test
def Test_Rng.full_suite
suite = RUNIT::TestSuite.new
Random::RngAlgorithms.each{ |alg|
code_for_new_class = derived_test_rng_class(alg)
eval( code_for_new_class )
suite.add_test( eval( "Test_Rng_%s.suite" % alg ) )
}
suite
end
# Lots of tests here...
end
On Mon, 28 Aug 2000, Dave Thomas wrote:
> Robert Feldt <feldt@ce.chalmers.se> writes:
>
> > You have a point there but I'm still surprised why you don't suggest
> > code generation. To be specific in the ruby extension for Random number
> > generation we're working on we don't know (at the time of writing the
> > tests) what parameters to RandomNumberGenerator are valid (currently you
> > have a choice of 33 different RNG algorithms stored in
> > Random::RngAlgorithms but that changes as we add/subtract new/bad algs).
> > So it's pretty simple to generate the code for the test classes you
> > suggested previously.
>
> True - in this particular case, where (presumably) the constructors all
> look alike, then you could have a single test driver that used this
> array of names (or whatever) to build and run yours tests. If there
> was a regular pattern like this, I probably would use some form of
> automatically generated list. For just three cases, I probably
> wouldn't unless it was a real pain setting the tests up.
>
>
> > However, in a general case the parameters to a class might be arbitrarily
> > complex (involving large parse trees or what-have-you) so people would
> > probably need a way to dynamically parameterize TestCase-derived classes.
> > Could you do it with Binding's (ie. saving the state at the time of
> > creating the class with a certain parameter)?
>
> An easier way might be to use a factory method that hid this
> intelligence within the class itself (or a helper). However, again,
> I'd do this in a subclass of the class being tested, so that users of
> the real class didn't have to have all this test-specific code lying
> around.
>
>
> Regards
>
>
> Dave
>
>
---------------------------------------------------------------
Robert Feldt tel: +46-(0)31 772 5217 fax: +46-(0)31 772 3663
feldt@ce.chalmers.se or robert.feldt@computer.org
MSc, Ph.D. student
Chalmers Univ. of Technology, Dept. of Computer Engineering
Hsalsv臠en 11, SE-412 96 Gothenburg, Sweden