Sha256: 2de8afe90abef2008e27931a379bc4fa82c87e8b5fcdf2edeef5de671cd72ab7

Contents?: true

Size: 953 Bytes

Versions: 42

Compression:

Stored size: 953 Bytes

Contents

require 'ostruct'
require 'generator/exercise_case/assertion'
require 'generator/exercise_case/case_helpers'
require 'generator/underscore'

module Generator
  class ExerciseCase
    using Generator::Underscore
    include CaseHelpers
    include Assertion

    attr_reader :canonical
    def initialize(canonical:)
      @canonical = canonical
    end

    def name
      'test_%s' % canonical.description.strip.underscore
    end

    def skipped(index)
      index.zero? ? '# skip' : 'skip'
    end

    def method_missing(sym, *args, &block)
      return canonical.send(sym) if canonical.respond_to?(sym)
      super(sym, *args, &block)
    end

    def respond_to?(sym, include_private = false)
      canonical.respond_to?(sym) || super
    end

    protected

    def literal(number)
      number.underscore
    end

    def underscore(string)
      string.underscore
    end

    def camel_case(string)
      string.camel_case
    end

  end
end

Version data entries

42 entries across 42 versions & 1 rubygems

Version Path
trackler-2.2.1.159 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.158 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.157 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.156 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.155 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.154 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.153 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.152 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.151 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.150 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.149 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.148 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.147 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.146 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.145 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.144 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.143 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.142 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.141 tracks/ruby/lib/generator/exercise_case.rb
trackler-2.2.1.140 tracks/ruby/lib/generator/exercise_case.rb