Sha256: c8cdb33294974c9c92d0b30afd49580c8993bce583edae0b751741ac2295c520
Contents?: true
Size: 1.75 KB
Versions: 1
Compression:
Stored size: 1.75 KB
Contents
require_relative '../test-util' path = Pathname.new(File.join(File.dirname(__FILE__), "spec_update-criteria.pione")) document = Component::Document.load(path) time = 10.times.map {sleep 0.001; Time.now} tuple = {} ['a', 'b', 'c'].map do |ext| 10.times do |i| name = 't%d.%s' % [i, ext] tuple[name] = Tuple[:data].new('test', name, nil, time[i]) end end UC = Pione::RuleHandler::UpdateCriteria # # test cases # yamlname = 'spec_update-criteria.yml' ymlpath = File.join(File.dirname(__FILE__), yamlname) testcases = YAML.load_file(ymlpath) describe 'RuleHandler::UpdateCriteria' do testcases.each do |rule_name, cases| rule = document.find(rule_name) describe rule_name do cases.each do |case_name, testcase| describe case_name do inputs = (testcase["inputs"] || []).map do |input| input.kind_of?(Array) ? input.map {|i| tuple[i]} : tuple[input] end outputs = (testcase["outputs"] || []).map do |output| output.kind_of?(Array) ? output.map {|i| tuple[i]} : tuple[output] end data_null_tuples = (testcase["data_null_tuples"] || []).map do |pos| Tuple::DataNullTuple.new(position: pos-1) end vtable = VariableTable.new testcase["criteria"].each do |criterion, truth| it "should be %s on criterion of %s" % [truth, criterion] do UC.send("%s?" % criterion, rule, inputs, outputs, vtable, data_null_tuples).should == truth end end it "should get update order" do order = testcase["order"] order = order.to_sym if order UC.order(rule, inputs, outputs, vtable, data_null_tuples).should == order end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pione-0.2.2 | test/rule-handler/spec_update-criteria.rb |