Sha256: f46641f6ea860f83385d8c44031ab31a136cf8560f5f9a89f55c82f1971f0ba1

Contents?: true

Size: 860 Bytes

Versions: 2

Compression:

Stored size: 860 Bytes

Contents

require 'spec_helper'
module Gisele::Language::Syntax
  describe Grammar, 'task_def' do

    it 'parses a simple implicit task definition' do
      taskdef = <<-TASKDEF.strip
        task Process
          Diagnosis
        end
      TASKDEF
      parse(taskdef, :task_def).should eq(taskdef)
    end

    it 'allows any statement' do
      taskdef = <<-TASKDEF.strip
        task Process
          while true Diagnosis end
        end
      TASKDEF
      parse(taskdef, :task_def).should eq(taskdef)
    end

    it 'supports optional variable definitions in the signature' do
      taskdef = <<-TASKDEF.strip
        task Process
          fluent   diagKnown {Diagnosis:start}, {} initially false
          trackvar mplus     {Diagnosis:end}
          Diagnosis
        end
      TASKDEF
      parse(taskdef, :task_def).should eq(taskdef)
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gisele-0.4.0 spec/unit/language/syntax/grammar/test_task_def.rb
gisele-0.3.0 spec/unit/language/syntax/grammar/test_task_def.rb