Sha256: 40ae95cf65fb9ed0afbe246b5e8265832635613a3c1ceb0dc22c6733ab3041b0
Contents?: true
Size: 1009 Bytes
Versions: 2
Compression:
Stored size: 1009 Bytes
Contents
class Gobstones::Batch attr_accessor :options, :examples, :content, :extra def initialize(content, examples, extra, options) @content = content @examples = examples @extra = extra @options = options end def run_tests!(output) Mumukit::Metatest::Framework.new( checker: Gobstones::Checker.new(options), runner: Gobstones::MultipleExecutionsRunner.new).test output, examples end def to_json examples.map { |example| example_json(example) }.to_json end private def example_json(example) expected_board = example[:postconditions][:final_board] base = example_base_json(example) expected_board ? base.merge(extraBoard: expected_board) : base end def example_base_json(example) {initialBoard: example[:preconditions][:initial_board], originalCode: content, code: example_code(example), extraCode: extra} end def example_code(example) Gobstones::ExampleCodeBuilder.new(content, example, options).build end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mumuki-gobstones-runner-1.6.1 | lib/gobstones/batch.rb |
mumuki-gobstones-runner-1.6.0 | lib/gobstones/batch.rb |