[#4567] Re: What's the biggest Ruby development? — Aleksi Niemel<aleksi.niemela@...>

Dave said:

18 messages 2000/08/23
[#4568] Q's on Marshal — Robert Feldt <feldt@...> 2000/08/23

[#4580] RubyUnit testcase run for different init params? — Robert Feldt <feldt@...> 2000/08/25

[#4584] Re: RubyUnit testcase run for different init params? — Dave Thomas <Dave@...> 2000/08/25

Robert Feldt <feldt@ce.chalmers.se> writes:

[#4623] Re: RubyUnit testcase run for different init params? — Robert Feldt <feldt@...> 2000/08/28

On Sat, 26 Aug 2000, Dave Thomas wrote:

[#4652] Andy and Dave's European Tour 2000 — Dave Thomas <Dave@...>

24 messages 2000/08/30
[#4653] Re: Andy and Dave's European Tour 2000 — matz@... (Yukihiro Matsumoto) 2000/08/30

Hi,

[#4657] Ruby tutorials for newbie — Kevin Liang <kevin@...> 2000/08/30

Hi,

[ruby-talk:4628] Re: RubyUnit testcase run for different init params?

From: Dave Thomas <Dave@...>
Date: 2000-08-28 14:10:31 UTC
List: ruby-talk #4628
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

In This Thread