How to implement this in unit testing

M

Muath A. Khalaf

[Note: parts of this message were removed to make it a legal post.]

Hi,
If I want to implement something like this in Ruby Unit Testing:
test_z_lessthan_20
x = choose(1..5)
y = choose(0..3)
z = x * y
assert(z < 20)
end_choice
end_choice
end

The idea here is to run the previous test for all x and y values. My
initial idea is to parse previous code and generate something like
this:
test_z_lessthan_20
[1..5].each do |x|
[0..3].each do |y|
z = x * y
assert(z < 20)
end
end
end
My question is what is the best way to parse previous code i.e. is
there a parser where I will just change small parts of it to pasre the
choose part.
Also is there a way to implement the previous code dynamically during
runtime or at least do the parsing and change on the fly instead of
creating some code statically.

Thanks
 
E

ethica1

[Note:  parts of this message were removed to make it a legal post.]

Hi,
If I want to implement something like this in Ruby Unit Testing:
test_z_lessthan_20
    x = choose(1..5)
    y = choose(0..3)
    z = x * y
    assert(z < 20)
    end_choice
    end_choice
end

The idea here is to run the previous test for all x and y values. My
initial idea is to parse previous code and generate something like
this:
test_z_lessthan_20
    [1..5].each do |x|
        [0..3].each do |y|
             z = x * y
             assert(z < 20)
        end
     end
end
My question is what is the best way to parse previous code i.e. is
there a parser where I will just change small parts of it to pasre the
choose part.
Also is there a way to implement the previous code dynamically during
runtime or at least do the parsing and change on the fly instead of
creating some code statically.

Thanks

just small change as [1..5].each does not work correctly so I may
change it to [1,2,3,4,5].each
 
C

Craig Demyanovich

just small change as [1..5].each does not work correctly so I may
change it to [1,2,3,4,5].each

You can use a range instead of an array, e.g., (1..5).each { |n| puts n } .

Craig
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Staff online

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,012
Latest member
RoxanneDzm

Latest Threads

Top