Hash map during the creation of a new class instance?

Hi,

Is it possible to use a hash map during the creation of a new class
instance?

E.g.

Test_Case_1.new(test = {:name => ‘case_1’})

If so, what would the syntax be in the class initialisation method

class Test_Case_1
def initialize(test[:name]) ?

Thank You

Aidy

On 20.10.2007 13:22, [email protected] wrote:

Is it possible to use a hash map during the creation of a new class
instance?

E.g.

Test_Case_1.new(test = {:name => ‘case_1’})

And what should this do?

If so, what would the syntax be in the class initialisation method

class Test_Case_1
def initialize(test[:name]) ?

As with every method you can this syntax for invoking methods:

irb(main):001:0> def foo(h) h end
=> nil
irb(main):002:0> foo(:name => “hello”, :age => 22)
=> {:name=>“hello”, :age=>22}

It depends on what you want to do how you would implement initialize
here.

Kind regards

robert

Hi Robert

On 20 Oct, 04:46, Robert K. [email protected] wrote:

Test_Case_1.new(test = {:name => ‘case_1’})

And what should this do?

I was thiking of passing meaningful data into a test case class I have

class Test_Case_1
def initialize() #not sure as yet as to what to enter here

log.detail_test_case(test[:name],  .....])

I dont want to hard code the data into the class, and was thinking of
passing test data during initialisation. I could then initialise the
class x number of times with different test data.

irb(main):001:0> def foo(h) h end
=> nil
irb(main):002:0> foo(:name => “hello”, :age => 22)
=> {:name=>“hello”, :age=>22}

So, I can put a placeholder in this method

def initialize(x)

It depends on what you want to do how you would implement initialize here.

My aim is put put test data somewhere meaningful, but for the tests
to be easily read.

log.detail_test_case(test[:name], test[:description])
browser.goto(test[:url])

Kind regards

    robert

Your advice is highly appreciated.

aidy

On 20.10.2007 14:11, [email protected] wrote:

def initialize(test[:name]) ?

def initialize(x)

“x” is called a “parameter”.

In your case you can simply do

def initialize(test)
log.detail_test_case(test[:name], …])
end

And then

tc = TestCase1.new(:name => “test 1”, :run => 1)

    robert

Your advice is highly appreciated.

aidy

Cheers

robert