天天看点

[BRF+] 测试ruleset

使用昨天report 创建的ruleset,里面包含了两个ruleset variable, 这两个rule variable的初始化分别由calc. cust. discount和calc. pro. discount这两个decision table来完成。

[BRF+] 测试ruleset

Decision table的rule 维护如下:

如果customer是“sap”,item是“ballpen”,则customer discount值为0.15

如果customer是“sap”,item是“pencil”,则customer discount值为0.12

如果不满足以上两个条件,则无discount

这里的column customer, item和Customer Discount都是function的context里定义的变量。

[BRF+] 测试ruleset

点击Simulation button:

[BRF+] 测试ruleset

选择Interpretation Mode:

[BRF+] 测试ruleset

点Execute button.

[BRF+] 测试ruleset

因为customer=sap, item=pencil, 满足decision table里的entry,因此customer_discount为0.12

[BRF+] 测试ruleset

promotion=sun, item = pencil, 不满足decision table里的任何一条entry,因此promotion_discount为0.

所以rule里的if 条件不满足,因此price将按照customer discount进行计算: final price = 10 / ( 1 + 0.12 ) = 8.93

[BRF+] 测试ruleset

如果使用"Execute and Display Processing Steps", 能够看到BRF+ 每一步具体的执行步骤:

[BRF+] 测试ruleset