def test_and(self):
code = "(and (do (print \"a\") 1) (do (print \"b\") 0) (do (print \"c\") 1))"
tree = self.parser.parse_line(code)
io = StringIO()
sys.stdout = io
result = self.runner.evaluate(tree[0])
sys.stdout = sys.__stdout__
self.assertEqual(result, 0)
self.assertEqual(io.getvalue(), "a\nb\n")
code = "(and True False True)"
tree = self.parser.parse_line(code)
result = self.runner.evaluate(tree[0])
self.assertEqual(result, False)
code = "(and True 1 4)"
tree = self.parser.parse_line(code)
result = self.runner.evaluate(tree[0])
self.assertEqual(result, 4)
评论列表
文章目录