Sha256: 47003414aa286cf43a7d40ca62d45401cbaf8983df5a167c5b0fbf15b8d708c6

Contents?: true

Size: 1.35 KB

Versions: 3

Compression:

Stored size: 1.35 KB

Contents

require 'pione/test-helper'

TestHelper.scope do |this|
  this::DIR = Location[__FILE__].dirname + "data"
  this::SIMPLE = this::DIR + "InputMergeComplementSimple.pnml"
  this::COMPLEX = this::DIR + "InputMergeComplementComplex.pnml"

  describe Pione::PNML::InputMergeComplement do
    it "should name by `input merge` in simple case" do
      net = PNML::Reader.read(this::SIMPLE)

      # transition
      transition_A = net.find_transition_by_name("A")
      place = net.find_all_places_by_target_id(transition_A.id).first

      # apply "input merge complement" rule
      PNML::NetRewriter.new{|rules| rules << PNML::InputMergeComplement}.rewrite(net)

      # test
      place.name.should == "<'i1' or 'i2' or 'i3'"
    end

    it "should name by `input merge` in complex case" do
      net = PNML::Reader.read(this::COMPLEX)

      # transition
      transition_A = net.find_transition_by_name("A")
      transition_B = net.find_transition_by_name("B")
      place_LA = net.find_all_places_by_target_id(transition_A.id).first
      place_LB = net.find_all_places_by_target_id(transition_B.id).first

      # apply "input merge complement" rule
      PNML::NetRewriter.new{|rules| rules << PNML::InputMergeComplement}.rewrite(net)

      # test
      place_LA.name.should == "<'i1' or 'i2' or 'i3'"
      place_LB.name.should == "<'i2' or 'i3' or 'i4'"
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pione-0.4.2 test/pnml/spec_input-merge-complement.rb
pione-0.4.1 test/pnml/spec_input-merge-complement.rb
pione-0.4.0 test/pnml/spec_input-merge-complement.rb