[#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:4627] Re: RubyUnit testcase run for different init params?

From: Robert Feldt <feldt@...>
Date: 2000-08-28 11:47:24 UTC
List: ruby-talk #4627
On Mon, 28 Aug 2000, Dave Thomas wrote:

> Robert Feldt <feldt@ce.chalmers.se> writes:
> 
> > Yes, that's a solution. IMHO, it's not very "beautiful" since you need to
> > duplicate code and I thought there might be a simpler way... (Now I
> > suspect you'll tell me thta I should be pragmatic and write a code
> > generator? :-))
> 
> Nope:
>
> But in reality, what code is duplicated? There's the two lines
> def setup/end, and the framework around the class. It really seems
> fairly minimal, particular as a nonpolymorphic equivalent would have
> some kind of conditional statement which itself had duplicated code (a 
> test and some scaffolding).
> 
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.

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)?

Regards,

Robert


In This Thread