Sha256: 774df7c7cecad5eb894c418c46c6acf7efda20bcea93916a251cd846b7031689

Contents?: true

Size: 1.34 KB

Versions: 2

Compression:

Stored size: 1.34 KB

Contents

require_relative '../test-util'

describe 'Pione::Transformer::DocumentTransformer' do
  transformer_spec("param_block", :param_block) do
    transform(<<-STRING) do |res|
      Param
        $X := 1
        $Y := 2
        $Z := 3
      End
    STRING
      assignments = res.value
      assignments.size.should == 3
      assignments.each do |assignment|
        assignment.should.kind_of Model::Assignment
        assignment.variable.param_type.should == :basic
      end
      assignments[0].variable.should == Variable.new("X")
      assignments[0].expr.should == IntegerSequence.new([PioneInteger.new(1)])
      assignments[1].variable.should == Variable.new("Y")
      assignments[1].expr.should == IntegerSequence.new([PioneInteger.new(2)])
      assignments[2].variable.should == Variable.new("Z")
      assignments[2].expr.should == IntegerSequence.new([PioneInteger.new(3)])
    end

    transform(<<-STRING) do |res|
      Basic Param
        $X := 1
        $Y := 2
        $Z := 3
      End
    STRING
      res.value.should.all do |assignment|
        assignment.variable.param_type == :basic
      end
    end

    transform(<<-STRING) do |res|
      Advanced Param
        $X := 1
        $Y := 2
        $Z := 3
      End
    STRING
      res.value.should.all do |assignment|
        assignment.variable.param_type == :advanced
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pione-0.2.2 test/transformer/spec_document-transformer.rb
pione-0.2.1 test/transformer/spec_document-transformer.rb