Sha256: 31c309dbc215be91c7497abe165284d41e038d03584f65500821cb5d9dbc1e27

Contents?: true

Size: 1.12 KB

Versions: 3

Compression:

Stored size: 1.12 KB

Contents

require 'spec_helper'

describe Tuvi do

  class Program
    include Tuvi
  end

  before(:each) do
    @program = Program.new
  end

  describe "The Tuvi language helper methods" do

    describe "step" do

      it "should return a new step" do
        @program.step(1)
        @program.instance_eval{@steps[1]}.class.should == Step
      end

      it "should assign number parameter to step's position" do
        @program.step(1)
        @program.instance_eval{@steps[1]}.position.should == 1
      end

      it "should assign a message based on message passed in block" do
        @program.step(1){message "Hello!"}
        @program.instance_eval{@steps[1]}.get_message.should == "Hello!"
      end

      it "should assign answer paths based on answers passed in block" do
        @program.step(1){answer "yes", 2}
        @program.instance_eval{@steps[1]}.answer_paths["yes"].should == 2
      end

      it "should mark a step as exit_program if 'stop' is passed in block" do
        @program.step(1){stop}
        @program.instance_eval{@steps[1]}.exit_program.should be_true
      end
    end

    describe "run" do

    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
tuvi-0.0.3 spec/tuvi_spec.rb
tuvi-0.0.2 spec/tuvi_spec.rb
tuvi-0.0.1 spec/tuvi_spec.rb