Sha256: bf6ade2aa898c8b3e13be42d884598ba8e20eee6df2aab9020c29e5d0a688faa

Contents?: true

Size: 1.33 KB

Versions: 3

Compression:

Stored size: 1.33 KB

Contents

class CalculatorCommandTest < NarrativeMethodCommandTest

  test :subject_class do
    assert subject_class == CalculatorCommand
  end

  test :settings do
    assert subject_class.log_level == :normal
    assert subject_class.log_color == :green
  end

  test :subject_class, :sum do
    assert subject_class.sum(1, 2) == 3
  end

  test :subject_class, :sub do
    assert subject_class.sub(1, 2) == -1
  end

  test :subject_class, :mul do
    assert subject_class.mul(1, 2) == 2
  end

  test :subject_class, :div do
    assert subject_class.div(10, 2) == 5
  end

  test :validate, :valid do
    subject = subject_class.new
    subject.instance_variable_set :@args, ["1", "+", "2"]
    subject.validate
    assert subject.instance_variable_get(:@a) == 1
    assert subject.instance_variable_get(:@op) == :+
    assert subject.instance_variable_get(:@b) == 2
  end

  test :validate, :invalid do
    subject = subject_class.new
    subject.instance_variable_set :@args, ["1", "x", "2"]
    begin
      subject.validate
      assert false
    rescue CalculatorCommand::Invalid
      assert true
    else
      assert false
    end
  end

  test :perform do
    subject = subject_class.new
    subject.instance_variable_set :@args, ["1", "+", "2"]
    subject.validate
    subject.perform
    assert subject.instance_variable_get(:@result) == 3
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lizarb-1.0.4 app_new/dev/commands/calculator_command_test.rb
lizarb-1.0.3 app/dev/commands/calculator_command_test.rb
lizarb-1.0.2 app/dev/commands/calculator_command_test.rb