svoid test_philosophyBot1_trails() { test_philosophyBot1_trailsForLogicRules(); test_philosophyBot1_trailsForFacts(); } svoid test_philosophyBot1_trailsForFacts() { PhilosophyBot1 bot = new([[ a => b a & b => c a expect c ]]); bot.printStackTraces = true; bot.enableTrails(); bot.runAndCheckExpectations(); for (WithTrail fact : bot.deducedFactsWithTrails()) assertNotNull("trail for " + fact, fact.trail); } svoid test_philosophyBot1_trailsForLogicRules() { PhilosophyBot1 bot = new([[ a & b => c a ]]); bot.printStackTraces = true; bot.enableTrails(); bot.think(); for (PhilosophyBot1.LogicRule rule : bot.logicRules()) { print(rule + ", trail: " + rule.trail); assertNotNull("trail" , rule.trail); } }