Test::Unit e Inner class

Salve,
a tutti ho il seguente problema, se ho una classe che definisce al suo
interno una classe:

#!/usr/bin/env ruby

class Config

Inner classes

class Dir
attr_accessor :path
def intialize(path)
@path = path
end
end
end

E in un file separato scrivo la seguente Test::Unit:

#!/usr/bin/env ruby

require ‘backupIt’
require ‘test/unit’

class DirTest < Test::Unit::TestCase
def test_init
d1 = Config::Dir.new(".")
assert_equal ‘.’, d1.path
end
end

All’esecuzione dei test ho il seguente errore:

Loaded suite ./backupIt_test
Started
E
Finished in 0.001837 seconds.

  1. Error:
    test_init(DirTest):
    ArgumentError: wrong number of arguments (1 for 0)
    ./backupIt_test.rb:8:in initialize' ./backupIt_test.rb:8:intest_init’

1 tests, 0 assertions, 0 failures, 1 errors

Penso che il problema derivi da problemi di visibilita’ della classe
interna. Dove sbaglio?

Dal momento che ci sono vi chiedo anche: Che visibilita’ hanno le classi
interne? Ve lo chiedo perche’ nel programma principale, se scrivo
Config::Dir.new funziona, mentre nella Unit::Test no.

Esiste qualcosa di analogo al metodo “private” per rendere una classe
interna visibile solo all’interno della classe esterna che la contiene?

grazie!

Gendag

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs