Class: TC_Predicate

Inherits:
Test::Unit::TestCase
  • Object
show all
Includes:
TestLogic
Defined in:
lib/carat-dev/predicate/predicate_test.rb

Instance Method Summary collapse

Methods included from TestLogic

#can_use, #man, #mortal, #tool, #woman

Methods included from Predicate::LogicExtension

#method_added, permutations

Methods included from Predicate::LogicInclusion

#predicate

Instance Method Details

#setupObject



33
34
35
36
37
38
# File 'lib/carat-dev/predicate/predicate_test.rb', line 33

def setup 
  man('socrates')
  woman('dido')
  tool('hammer')
  can_use('me', 'ball')
end

#test_deductionsObject



47
48
49
50
51
52
# File 'lib/carat-dev/predicate/predicate_test.rb', line 47

def test_deductions
  assert(mortal?('socrates'))
  assert(mortal?('dido'))
  assert(can_use?('socrates','hammer'))
  assert(can_use?('dido','hammer'))
end

#test_factsObject



40
41
42
43
44
45
# File 'lib/carat-dev/predicate/predicate_test.rb', line 40

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

#test_queriesObject



54
55
56
57
58
59
60
61
62
# File 'lib/carat-dev/predicate/predicate_test.rb', line 54

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