#! /usr/bin/ruby # encoding: utf-8 require 'minitest/autorun' require_relative '../lib/y_petri' # tested component itself # require 'y_petri' # require 'sy' describe YPetri::Place do it "should work" do pç = Class.new YPetri::Place p = pç.new default_marking: 3.2, marking: 1.1, quantum: 0.1, name: "P1" p.namespace.must_equal YPetri::Place p.name.must_equal :P1 p.inspect[0..7].must_equal "# { g2.validate Complex( 1, 1 ) }.must_raise YPetri::GuardError p.marking "must be in 0..10" do |m| fail unless ( 0..10 ) === m end p.guards.size.must_equal 4 g = p.common_guard_closure -> { g.( 11.1 ) }.must_raise YPetri::GuardError begin; p.marking = -1.11; rescue YPetri::GuardError => err err.message.must_equal 'Marking -1.11:Float of P1 should not be negative!' end end end