class Pione::TestHelper::TestPioneMethod

Public Class Methods

new(path, option={}) click to toggle source
# File lib/pione/test-helper/lang-helper.rb, line 153
def initialize(path, option={})
  dir = File.dirname(path)
  name = File.basename(path, ".rb").sub("spec_", "")
  @path = File.join(dir, 'data', '%s.yml' % name)
  @transformer_option = make_transformer_option(option)
end

Public Instance Methods

make_test_items(testcases) click to toggle source
# File lib/pione/test-helper/lang-helper.rb, line 184
def make_test_items(testcases)
  if testcases
    testcases.map do |testcase|
      head = testcase.keys.first
      TestPioneMethodItem.new(head.to_s, testcase[head].to_s, @transformer_option)
    end
  else
    []
  end
end
make_transformer_option(option) click to toggle source
# File lib/pione/test-helper/lang-helper.rb, line 177
def make_transformer_option(option)
  transformer_option = {}
  transformer_option[:package_name] = option[:package_name] || "Test"
  transformer_option[:filename] = option[:filename] || "Test.pione"
  transformer_option
end
run() click to toggle source

Test pione method.

# File lib/pione/test-helper/lang-helper.rb, line 161
def run
  YAML.load_file(@path).each do |title, testcases|
    items = make_test_items(testcases)

    describe "pione method test cases" do
      describe title do
        items.each do |item|
          it '%s should be %s' % [item.expr_string, item.expectation_string] do
            item.test
          end
        end
      end
    end
  end
end