Files
zen/bindings/python/index.py
T
2023-03-29 22:14:37 +02:00

47 lines
1.5 KiB
Python

import zen
import time
import unittest
def loader(key):
with open("../../test-data/" + key, "r") as f:
return f.read()
# The test based on unittest module
class ZenEngine(unittest.TestCase):
def test_decision_using_loader(self):
engine = zen.ZenEngine({"loader": loader})
r1 = engine.evaluate("function.json", {"input": 5})
r2 = engine.evaluate("table.json", {"input": 2})
r3 = engine.evaluate("table.json", {"input": 12})
self.assertEqual(r1["result"]["output"], 10)
self.assertEqual(r2["result"]["output"], 0)
self.assertEqual(r3["result"]["output"], 10)
def test_decisions_using_getDecision(self):
engine = zen.ZenEngine({"loader": loader})
functionDecision = engine.get_decision("function.json")
tableDecision = engine.get_decision("table.json")
r1 = functionDecision.evaluate({"input": 10})
r2 = tableDecision.evaluate({"input": 5})
r3 = tableDecision.evaluate({"input": 12})
print(r1)
self.assertEqual(r1["result"]["output"], 20)
self.assertEqual(r2["result"]["output"], 0)
self.assertEqual(r3["result"]["output"], 10)
def test_create_decisions_from_content(self):
engine = zen.ZenEngine()
with open("../../test-data/function.json", "r") as f:
functionContent = f.read()
functionDecision = engine.create_decision(functionContent)
r = functionDecision.evaluate({"input": 15})
self.assertEqual(r["result"]["output"], 30)
# run the test
unittest.main()