class Ataru::TestClassBuilder

Attributes

code_samples[RW]

Public Class Methods

new(code_samples) click to toggle source
# File lib/ataru/test_class_builder.rb, line 9
def initialize(code_samples)
  self.code_samples = code_samples
end

Public Instance Methods

build_test_class() click to toggle source
# File lib/ataru/test_class_builder.rb, line 13
def build_test_class
  samples = code_samples
  klass = Class.new(MiniTest::Test) do
    path = Dir.pwd + '/ataru_setup.rb'
    include Setup if File.exist?(path)
    samples.each_with_index do |sample, index|
      basename = Pathname.new(sample.file).basename(".*").to_s
      define_method("test_#{basename}_#{index}") do
        sample.run(binding)
      end
    end
  end

  klass
end