Sha256: 88a9054e7d967830541be6bcf490ab9dcecb32eae01fa0922a48fe6ebd38e984

Contents?: true

Size: 1.33 KB

Versions: 216

Compression:

Stored size: 1.33 KB

Contents

require 'json'
require_relative 'test_helper'
require_relative '../exercises/wordy/.meta/generator/wordy_case'

class WordyCaseTest < Minitest::Test
  def test_workload_with_expected_and_no_message
    test_case = WordyCase.new(canonical: OpenStruct.new(expected: 1, input: 1))

    expected_workload = [
      'question = \'1\'',
      '    assert_equal(1, WordProblem.new(question).answer)',
    ].join("\n")

    assert_equal expected_workload, test_case.workload
  end

  def test_workload_with_expected_and_message
    test_case = WordyCase.new(canonical: OpenStruct.new(expected: 1, input: 'What is -3 plus 7 multiplied by -2?'))
    message = test_case.send(:message)

    expected_workload = [
      "question = 'What is -3 plus 7 multiplied by -2?'",
      '    answer = WordProblem.new(question).answer',
      '    message = "' + message[0..-3] + '#{answer}"',
      '    assert_equal(1, answer, message)',
    ].join("\n")

    assert_equal expected_workload, test_case.workload
  end

  def test_workload_with_expected_false
    test_case = WordyCase.new(canonical: OpenStruct.new(input: 1, expected: false))

    expected_workload = [
      'question = \'1\'',
      '    assert_raises ArgumentError do',
      '      WordProblem.new(question).answer',
      '    end',
    ].join("\n")

    assert_equal expected_workload, test_case.workload
  end
end

Version data entries

216 entries across 216 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.179 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.178 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.177 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.176 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.175 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.174 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.173 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.172 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.171 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.170 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.169 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.167 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.166 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.165 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.164 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.163 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.162 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.161 tracks/ruby/test/wordy_cases_test.rb
trackler-2.2.1.160 tracks/ruby/test/wordy_cases_test.rb