Sha256: 98e4264dbddba9db962517107bea5aff863c1104839d09eb4a6fa31d4e183868
Contents?: true
Size: 1.27 KB
Versions: 1
Compression:
Stored size: 1.27 KB
Contents
require 'test/unit' require 'raspberry/succ/predicate' module TestLogic include Predicate::LogicInclusion extend Predicate::LogicExtension def man(x) end def woman(x) end def tool(x) end def mortal(x) woman(x) | man(x) end def can_use(x, y) ( man(x) | woman(x) ) & tool(y) end end class TC_Predicate < Test::Unit::TestCase include TestLogic def setup man('socrates') woman('dido') tool('hammer') can_use('me', 'ball') end def test_facts assert(man?('socrates'), "man?('socrates')") assert(woman?('dido'), "woman?('dido')") assert(tool?('hammer'), "tool?('hammer')") assert(can_use?('me', 'ball'), "can_use?('me', 'ball')") end def test_deductions assert(mortal?('socrates')) assert(mortal?('dido')) assert(can_use?('socrates','hammer')) assert(can_use?('dido','hammer')) end def test_queries assert(man(/.*/).include?(['socrates'])) assert(woman(/.*/).include?(['dido'])) assert(mortal(/.*/).include?(['socrates'])) assert(mortal(/.*/).include?(['dido'])) assert(can_use(/.*/,/.*/).include?(['socrates', 'hammer'])) assert(can_use(/.*/,/.*/).include?(['dido', 'hammer'])) assert(can_use(/.*/,/.*/).include?(['me', 'ball'])) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
carats-0.3.0 | lib/carat-dev/predicate/predicate_test.rb |