[Ironruby-core] Getting started with IronRuby and c# issues.

John Nolan johnnonolan at gmail.com
Sat Feb 20 05:16:16 EST 2010


Hi IronRuby mailing list,

Inspired by a talk by Ben Hall on testing c# with Ruby I thought I'd give it
a go but
I'm frustratingly stuck at the first hurdle. I've emailed Ben but as I've
not had an immediate response I thought I'd open it to you good people.

Any way. I thought I'd start off simple and follow Dom Green's blog.
domgreen.com/2010/02/07/pumping-iron-ruby-net-testing/

He's set a class in c# with a simple property (here's mine)

namespace IronRubyAndCSharp
{
    public class Person
    {
        public string FirstName { get; set; }

        public Person(string name)
        {
            FirstName = name;
        }
    }
}

and tested it like so

require "test/unit"
require "../IronRuby/bin/debug/IronRubyAndCSharp.dll"

class PersonTest < Test::Unit::TestCase
include IronRubyAndCSharp
  def test_create_person_called_john
    john = Person.new("John")
    assert_not_nil(john)
    assert_equal("John",Person.FirstName)
  end
end

RubyMine(RM) has no problem with the require of the dll but it does have a
problem recognising the namespace "IronRubyAndCSharp"
and the Person class (squiggly lines ahoy).

When I run the tests in RM I get

NoMethodError: undefined method `FirstName' for
IronRubyAndCSharp::Person:Class
C:/Users/John/Documents/IronRuby/Tests/Person_test.rb:14:in
`test_create_person_called_john'
    :0:in `send'
    :0:in `each'
    C:/Program Files (x86)/IronRuby
0.9.4.0/Lib/ruby/1.8/test/unit/ui/testrunnermediator.rb:46:in `run_suite'
    :0:in `each'
    C:\Program Files (x86)\JetBrains\RubyMine
2.0.1\rb\testing\patch\testunit/test/unit/ui/testrunnermediator.rb:36:in
`run_suite'
    testrunner.rb:213:in `start_mediator'
    C:\Program Files (x86)\JetBrains\RubyMine
2.0.1\rb\testing\patch\testunit/test/unit/ui/teamcity/testrunner.rb:191:in
`start'
    testrunnerutilities.rb:28:in `run'
    C:/Program Files (x86)/IronRuby
0.9.4.0/Lib/ruby/1.8/test/unit/autorunner.rb:216:in `run'
    C:/Program Files (x86)/IronRuby
0.9.4.0/Lib/ruby/1.8/test/unit/autorunner.rb:12:in `run'

Just in case RubyMine was at fault I dropped out to good old ir.exe

C:\Users\John\Documents\IronRuby\Tests>ir Person_test.rb --name
test_create_pers
on_called_john
Loaded suite Person_test
Started
E
Finished in 0.041992 seconds.

  1) Error:
test_create_person_called_john(PersonTest):
NoMethodError: undefined method `FirstName' for
IronRubyAndCSharp::Person:Class
    Person_test.rb:14:in `test_create_person_called_john'
    :0:in `send'
    :0:in `each'
    :0:in `each'
    testrunner.rb:66:in `start_mediator'
    testrunnerutilities.rb:28:in `run'

1 tests, 1 assertions, 0 failures, 1 errors

I've stuck my code up on github
http://github.com/johnnonolan/IronRubyAndCSharp if you feel that was
inclined.

Any pointers, help or whatever much appreciated.

PlzSendMeTehCodez


John(no)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20100220/84e2a62f/attachment.html>


More information about the Ironruby-core mailing list