diff --git a/.phpunit.result.cache b/.phpunit.result.cache index d5bbd2c..b66e414 100644 --- a/.phpunit.result.cache +++ b/.phpunit.result.cache @@ -1 +1 @@ -{"version":1,"defects":{"JsonLogicTest::testInvalidOperator":4,"LazyEvaluationTest::testAndExitsFirstFalse":3,"LazyEvaluationTest::testOrHaltsOnFirstTruthyArgument":3,"LazyEvaluationTest::testOrEvaluatesEveryFalsyArgument":3},"times":{"JsonLogicTest::testInvalidOperator":0.003,"JsonLogicTest::testCommon with data set #0":0,"JsonLogicTest::testCommon with data set #1":0,"JsonLogicTest::testCommon with data set #2":0,"JsonLogicTest::testCommon with data set #3":0,"JsonLogicTest::testCommon with data set #4":0,"JsonLogicTest::testCommon with data set #5":0,"JsonLogicTest::testCommon with data set #6":0,"JsonLogicTest::testCommon with data set #7":0,"JsonLogicTest::testCommon with data set #8":0,"JsonLogicTest::testCommon with data set #9":0,"JsonLogicTest::testCommon with data set #10":0,"JsonLogicTest::testCommon with data set #11":0,"JsonLogicTest::testCommon with data set #12":0,"JsonLogicTest::testCommon with data set #13":0,"JsonLogicTest::testCommon with data set #14":0,"JsonLogicTest::testCommon with data set #15":0,"JsonLogicTest::testCommon with data set #16":0,"JsonLogicTest::testCommon with data set #17":0,"JsonLogicTest::testCommon with data set #18":0,"JsonLogicTest::testCommon with data set #19":0,"JsonLogicTest::testCommon with data set #20":0,"JsonLogicTest::testCommon with data set #21":0,"JsonLogicTest::testCommon with data set #22":0,"JsonLogicTest::testCommon with data set #23":0,"JsonLogicTest::testCommon with data set #24":0,"JsonLogicTest::testCommon with data set #25":0,"JsonLogicTest::testCommon with data set #26":0,"JsonLogicTest::testCommon with data set #27":0,"JsonLogicTest::testCommon with data set #28":0,"JsonLogicTest::testCommon with data set #29":0,"JsonLogicTest::testCommon with data set #30":0,"JsonLogicTest::testCommon with data set #31":0,"JsonLogicTest::testCommon with data set #32":0,"JsonLogicTest::testCommon with data set #33":0,"JsonLogicTest::testCommon with data set #34":0,"JsonLogicTest::testCommon with data set #35":0,"JsonLogicTest::testCommon with data set #36":0,"JsonLogicTest::testCommon with data set #37":0,"JsonLogicTest::testCommon with data set #38":0,"JsonLogicTest::testCommon with data set #39":0,"JsonLogicTest::testCommon with data set #40":0,"JsonLogicTest::testCommon with data set #41":0,"JsonLogicTest::testCommon with data set #42":0,"JsonLogicTest::testCommon with data set #43":0,"JsonLogicTest::testCommon with data set #44":0,"JsonLogicTest::testCommon with data set #45":0,"JsonLogicTest::testCommon with data set #46":0,"JsonLogicTest::testCommon with data set #47":0,"JsonLogicTest::testCommon with data set #48":0,"JsonLogicTest::testCommon with data set #49":0,"JsonLogicTest::testCommon with data set #50":0,"JsonLogicTest::testCommon with data set #51":0,"JsonLogicTest::testCommon with data set #52":0,"JsonLogicTest::testCommon with data set #53":0,"JsonLogicTest::testCommon with data set #54":0,"JsonLogicTest::testCommon with data set #55":0,"JsonLogicTest::testCommon with data set #56":0,"JsonLogicTest::testCommon with data set #57":0,"JsonLogicTest::testCommon with data set #58":0,"JsonLogicTest::testCommon with data set #59":0,"JsonLogicTest::testCommon with data set #60":0,"JsonLogicTest::testCommon with data set #61":0,"JsonLogicTest::testCommon with data set #62":0,"JsonLogicTest::testCommon with data set #63":0,"JsonLogicTest::testCommon with data set #64":0,"JsonLogicTest::testCommon with data set #65":0,"JsonLogicTest::testCommon with data set #66":0,"JsonLogicTest::testCommon with data set #67":0,"JsonLogicTest::testCommon with data set #68":0,"JsonLogicTest::testCommon with data set #69":0,"JsonLogicTest::testCommon with data set #70":0,"JsonLogicTest::testCommon with data set #71":0,"JsonLogicTest::testCommon with data set #72":0,"JsonLogicTest::testCommon with data set #73":0,"JsonLogicTest::testCommon with data set #74":0,"JsonLogicTest::testCommon with data set #75":0,"JsonLogicTest::testCommon with data set #76":0,"JsonLogicTest::testCommon with data set #77":0,"JsonLogicTest::testCommon with data set #78":0,"JsonLogicTest::testCommon with data set #79":0,"JsonLogicTest::testCommon with data set #80":0,"JsonLogicTest::testCommon with data set #81":0,"JsonLogicTest::testCommon with data set #82":0,"JsonLogicTest::testCommon with data set #83":0,"JsonLogicTest::testCommon with data set #84":0,"JsonLogicTest::testCommon with data set #85":0,"JsonLogicTest::testCommon with data set #86":0,"JsonLogicTest::testCommon with data set #87":0,"JsonLogicTest::testCommon with data set #88":0,"JsonLogicTest::testCommon with data set #89":0,"JsonLogicTest::testCommon with data set #90":0,"JsonLogicTest::testCommon with data set #91":0,"JsonLogicTest::testCommon with data set #92":0,"JsonLogicTest::testCommon with data set #93":0,"JsonLogicTest::testCommon with data set #94":0,"JsonLogicTest::testCommon with data set #95":0,"JsonLogicTest::testCommon with data set #96":0,"JsonLogicTest::testCommon with data set #97":0,"JsonLogicTest::testCommon with data set #98":0,"JsonLogicTest::testCommon with data set #99":0,"JsonLogicTest::testCommon with data set #100":0,"JsonLogicTest::testCommon with data set #101":0,"JsonLogicTest::testCommon with data set #102":0,"JsonLogicTest::testCommon with data set #103":0,"JsonLogicTest::testCommon with data set #104":0,"JsonLogicTest::testCommon with data set #105":0,"JsonLogicTest::testCommon with data set #106":0,"JsonLogicTest::testCommon with data set #107":0,"JsonLogicTest::testCommon with data set #108":0,"JsonLogicTest::testCommon with data set #109":0,"JsonLogicTest::testCommon with data set #110":0,"JsonLogicTest::testCommon with data set #111":0,"JsonLogicTest::testCommon with data set #112":0,"JsonLogicTest::testCommon with data set #113":0,"JsonLogicTest::testCommon with data set #114":0,"JsonLogicTest::testCommon with data set #115":0,"JsonLogicTest::testCommon with data set #116":0,"JsonLogicTest::testCommon with data set #117":0,"JsonLogicTest::testCommon with data set #118":0,"JsonLogicTest::testCommon with data set #119":0,"JsonLogicTest::testCommon with data set #120":0,"JsonLogicTest::testCommon with data set #121":0,"JsonLogicTest::testCommon with data set #122":0,"JsonLogicTest::testCommon with data set #123":0,"JsonLogicTest::testCommon with data set #124":0,"JsonLogicTest::testCommon with data set #125":0,"JsonLogicTest::testCommon with data set #126":0,"JsonLogicTest::testCommon with data set #127":0,"JsonLogicTest::testCommon with data set #128":0,"JsonLogicTest::testCommon with data set #129":0,"JsonLogicTest::testCommon with data set #130":0,"JsonLogicTest::testCommon with data set #131":0,"JsonLogicTest::testCommon with data set #132":0,"JsonLogicTest::testCommon with data set #133":0,"JsonLogicTest::testCommon with data set #134":0,"JsonLogicTest::testCommon with data set #135":0,"JsonLogicTest::testCommon with data set #136":0,"JsonLogicTest::testCommon with data set #137":0,"JsonLogicTest::testCommon with data set #138":0,"JsonLogicTest::testCommon with data set #139":0,"JsonLogicTest::testCommon with data set #140":0,"JsonLogicTest::testCommon with data set #141":0,"JsonLogicTest::testCommon with data set #142":0,"JsonLogicTest::testCommon with data set #143":0,"JsonLogicTest::testCommon with data set #144":0,"JsonLogicTest::testCommon with data set #145":0,"JsonLogicTest::testCommon with data set #146":0,"JsonLogicTest::testCommon with data set #147":0,"JsonLogicTest::testCommon with data set #148":0,"JsonLogicTest::testCommon with data set #149":0,"JsonLogicTest::testCommon with data set #150":0,"JsonLogicTest::testCommon with data set #151":0,"JsonLogicTest::testCommon with data set #152":0,"JsonLogicTest::testCommon with data set #153":0,"JsonLogicTest::testCommon with data set #154":0,"JsonLogicTest::testCommon with data set #155":0,"JsonLogicTest::testCommon with data set #156":0,"JsonLogicTest::testCommon with data set #157":0,"JsonLogicTest::testCommon with data set #158":0,"JsonLogicTest::testCommon with data set #159":0,"JsonLogicTest::testCommon with data set #160":0,"JsonLogicTest::testCommon with data set #161":0,"JsonLogicTest::testCommon with data set #162":0,"JsonLogicTest::testCommon with data set #163":0,"JsonLogicTest::testCommon with data set #164":0,"JsonLogicTest::testCommon with data set #165":0,"JsonLogicTest::testCommon with data set #166":0,"JsonLogicTest::testCommon with data set #167":0,"JsonLogicTest::testCommon with data set #168":0,"JsonLogicTest::testCommon with data set #169":0,"JsonLogicTest::testCommon with data set #170":0,"JsonLogicTest::testCommon with data set #171":0,"JsonLogicTest::testCommon with data set #172":0,"JsonLogicTest::testCommon with data set #173":0,"JsonLogicTest::testCommon with data set #174":0,"JsonLogicTest::testCommon with data set #175":0,"JsonLogicTest::testCommon with data set #176":0,"JsonLogicTest::testCommon with data set #177":0,"JsonLogicTest::testCommon with data set #178":0,"JsonLogicTest::testCommon with data set #179":0,"JsonLogicTest::testCommon with data set #180":0,"JsonLogicTest::testCommon with data set #181":0,"JsonLogicTest::testCommon with data set #182":0,"JsonLogicTest::testCommon with data set #183":0,"JsonLogicTest::testCommon with data set #184":0,"JsonLogicTest::testCommon with data set #185":0,"JsonLogicTest::testCommon with data set #186":0,"JsonLogicTest::testCommon with data set #187":0,"JsonLogicTest::testCommon with data set #188":0,"JsonLogicTest::testCommon with data set #189":0,"JsonLogicTest::testCommon with data set #190":0,"JsonLogicTest::testCommon with data set #191":0,"JsonLogicTest::testCommon with data set #192":0,"JsonLogicTest::testCommon with data set #193":0,"JsonLogicTest::testCommon with data set #194":0,"JsonLogicTest::testCommon with data set #195":0,"JsonLogicTest::testCommon with data set #196":0,"JsonLogicTest::testCommon with data set #197":0,"JsonLogicTest::testCommon with data set #198":0,"JsonLogicTest::testCommon with data set #199":0,"JsonLogicTest::testCommon with data set #200":0,"JsonLogicTest::testCommon with data set #201":0,"JsonLogicTest::testCommon with data set #202":0,"JsonLogicTest::testCommon with data set #203":0,"JsonLogicTest::testCommon with data set #204":0,"JsonLogicTest::testCommon with data set #205":0,"JsonLogicTest::testCommon with data set #206":0,"JsonLogicTest::testCommon with data set #207":0,"JsonLogicTest::testCommon with data set #208":0,"JsonLogicTest::testCommon with data set #209":0,"JsonLogicTest::testCommon with data set #210":0,"JsonLogicTest::testCommon with data set #211":0,"JsonLogicTest::testCommon with data set #212":0,"JsonLogicTest::testCommon with data set #213":0,"JsonLogicTest::testCommon with data set #214":0,"JsonLogicTest::testCommon with data set #215":0,"JsonLogicTest::testCommon with data set #216":0,"JsonLogicTest::testCommon with data set #217":0,"JsonLogicTest::testCommon with data set #218":0,"JsonLogicTest::testCommon with data set #219":0,"JsonLogicTest::testCommon with data set #220":0,"JsonLogicTest::testCommon with data set #221":0,"JsonLogicTest::testCommon with data set #222":0,"JsonLogicTest::testCommon with data set #223":0,"JsonLogicTest::testCommon with data set #224":0,"JsonLogicTest::testCommon with data set #225":0,"JsonLogicTest::testCommon with data set #226":0,"JsonLogicTest::testCommon with data set #227":0,"JsonLogicTest::testCommon with data set #228":0,"JsonLogicTest::testCommon with data set #229":0,"JsonLogicTest::testCommon with data set #230":0,"JsonLogicTest::testCommon with data set #231":0,"JsonLogicTest::testCommon with data set #232":0,"JsonLogicTest::testCommon with data set #233":0,"JsonLogicTest::testCommon with data set #234":0,"JsonLogicTest::testCommon with data set #235":0,"JsonLogicTest::testCommon with data set #236":0,"JsonLogicTest::testCommon with data set #237":0,"JsonLogicTest::testCommon with data set #238":0,"JsonLogicTest::testCommon with data set #239":0,"JsonLogicTest::testCommon with data set #240":0,"JsonLogicTest::testCommon with data set #241":0,"JsonLogicTest::testCommon with data set #242":0,"JsonLogicTest::testCommon with data set #243":0,"JsonLogicTest::testCommon with data set #244":0,"JsonLogicTest::testCommon with data set #245":0,"JsonLogicTest::testCommon with data set #246":0,"JsonLogicTest::testCommon with data set #247":0,"JsonLogicTest::testCommon with data set #248":0,"JsonLogicTest::testCommon with data set #249":0,"JsonLogicTest::testCommon with data set #250":0.001,"JsonLogicTest::testCommon with data set #251":0,"JsonLogicTest::testCommon with data set #252":0,"JsonLogicTest::testCommon with data set #253":0,"JsonLogicTest::testCommon with data set #254":0,"JsonLogicTest::testCommon with data set #255":0,"JsonLogicTest::testCommon with data set #256":0,"JsonLogicTest::testCommon with data set #257":0,"JsonLogicTest::testCommon with data set #258":0,"JsonLogicTest::testCommon with data set #259":0,"JsonLogicTest::testCommon with data set #260":0,"JsonLogicTest::testCommon with data set #261":0,"JsonLogicTest::testCommon with data set #262":0,"JsonLogicTest::testCommon with data set #263":0,"JsonLogicTest::testCommon with data set #264":0,"JsonLogicTest::testCommon with data set #265":0,"JsonLogicTest::testCommon with data set #266":0,"JsonLogicTest::testCommon with data set #267":0,"JsonLogicTest::testCommon with data set #268":0,"JsonLogicTest::testCommon with data set #269":0,"JsonLogicTest::testCommon with data set #270":0,"JsonLogicTest::testCommon with data set #271":0,"JsonLogicTest::testCommon with data set #272":0,"JsonLogicTest::testCommon with data set #273":0,"JsonLogicTest::testCommon with data set #274":0,"JsonLogicTest::testCommon with data set #275":0,"JsonLogicTest::testCommon with data set #276":0,"JsonLogicTest::testCommon with data set #277":0,"JsonLogicTest::testCommon with data set #278":0,"JsonLogicTest::testCommon with data set #279":0,"JsonLogicTest::testCommon with data set #280":0,"JsonLogicTest::testCommon with data set #281":0,"JsonLogicTest::testCommon with data set #282":0,"JsonLogicTest::testCommon with data set #283":0,"JsonLogicTest::testCommon with data set #284":0,"JsonLogicTest::testCommon with data set #285":0,"JsonLogicTest::testCommon with data set #286":0,"JsonLogicTest::testCommon with data set #287":0,"JsonLogicTest::testCommon with data set #288":0,"JsonLogicTest::testCommon with data set #289":0,"JsonLogicTest::testCommon with data set #290":0,"JsonLogicTest::testCommon with data set #291":0,"JsonLogicTest::testCommon with data set #292":0,"JsonLogicTest::testCommon with data set #293":0,"JsonLogicTest::testCommon with data set #294":0,"JsonLogicTest::testCommon with data set #295":0,"JsonLogicTest::testCommon with data set #296":0,"JsonLogicTest::testCommon with data set #297":0,"JsonLogicTest::testCommon with data set #298":0,"JsonLogicTest::testCommon with data set #299":0,"JsonLogicTest::testCommon with data set #300":0,"JsonLogicTest::testCommon with data set #301":0,"JsonLogicTest::testCommon with data set #302":0,"JsonLogicTest::testCommon with data set #303":0,"JsonLogicTest::testCommon with data set #304":0,"JsonLogicTest::testCommon with data set #305":0,"JsonLogicTest::testCommon with data set #306":0,"JsonLogicTest::testCommon with data set #307":0,"JsonLogicTest::testCommon with data set #308":0,"JsonLogicTest::testCommon with data set #309":0,"JsonLogicTest::testCommon with data set #310":0,"JsonLogicTest::testCommon with data set #311":0,"JsonLogicTest::testCommon with data set #312":0,"JsonLogicTest::testCommon with data set #313":0,"JsonLogicTest::testCommon with data set #314":0,"JsonLogicTest::testCommon with data set #315":0,"JsonLogicTest::testCommon with data set #316":0,"JsonLogicTest::testCommon with data set #317":0,"JsonLogicTest::testCommon with data set #318":0,"JsonLogicTest::testCommon with data set #319":0,"JsonLogicTest::testCommon with data set #320":0,"JsonLogicTest::testCommon with data set #321":0,"JsonLogicTest::testCommon with data set #322":0,"JsonLogicTest::testCommon with data set #323":0,"JsonLogicTest::testCommon with data set #324":0,"JsonLogicTest::testCommon with data set #325":0,"JsonLogicTest::testCommon with data set #326":0,"JsonLogicTest::testCommon with data set #327":0,"JsonLogicTest::testCommon with data set #328":0,"JsonLogicTest::testCommon with data set #329":0,"JsonLogicTest::testCommon with data set #330":0,"JsonLogicTest::testCommon with data set #331":0,"JsonLogicTest::testCommon with data set #332":0,"JsonLogicTest::testCommon with data set #333":0,"JsonLogicTest::testCommon with data set #334":0,"JsonLogicTest::testCommon with data set #335":0,"JsonLogicTest::testCommon with data set #336":0,"JsonLogicTest::testCommon with data set #337":0,"JsonLogicTest::testCommon with data set #338":0,"JsonLogicTest::testCommon with data set #339":0,"JsonLogicTest::testCommon with data set #340":0,"JsonLogicTest::testCommon with data set #341":0,"JsonLogicTest::testCommon with data set #342":0,"JsonLogicTest::testCommon with data set #343":0,"JsonLogicTest::testCommon with data set #344":0,"JsonLogicTest::testCommon with data set #345":0,"JsonLogicTest::testCommon with data set #346":0,"JsonLogicTest::testCommon with data set #347":0,"JsonLogicTest::testCommon with data set #348":0,"JsonLogicTest::testCommon with data set #349":0,"JsonLogicTest::testCommon with data set #350":0,"JsonLogicTest::testCommon with data set #351":0,"JsonLogicTest::testCommon with data set #352":0,"JsonLogicTest::testCommon with data set #353":0,"JsonLogicTest::testCommon with data set #354":0,"JsonLogicTest::testCommon with data set #355":0,"JsonLogicTest::testCommon with data set #356":0,"JsonLogicTest::testCommon with data set #357":0,"JsonLogicTest::testCommon with data set #358":0,"JsonLogicTest::testCommon with data set #359":0,"JsonLogicTest::testCommon with data set #360":0,"JsonLogicTest::testCommon with data set #361":0,"JsonLogicTest::testCommon with data set #362":0,"JsonLogicTest::testCommon with data set #363":0,"JsonLogicTest::testCommon with data set #364":0,"JsonLogicTest::testCommon with data set #365":0,"JsonLogicTest::testCommon with data set #366":0,"JsonLogicTest::testCommon with data set #367":0,"JsonLogicTest::testCommon with data set #368":0,"JsonLogicTest::testCommon with data set #369":0,"JsonLogicTest::testCommon with data set #370":0,"JsonLogicTest::testCommon with data set #371":0,"JsonLogicTest::testCommon with data set #372":0,"JsonLogicTest::testCommon with data set #373":0,"JsonLogicTest::testCommon with data set #374":0,"JsonLogicTest::testCommon with data set #375":0,"JsonLogicTest::testCommon with data set #376":0,"JsonLogicTest::testCommon with data set #377":0,"JsonLogicTest::testCommon with data set #378":0,"JsonLogicTest::testCommon with data set #379":0,"JsonLogicTest::testCommon with data set #380":0,"JsonLogicTest::testCommon with data set #381":0,"JsonLogicTest::testCommon with data set #382":0,"JsonLogicTest::testCommon with data set #383":0,"JsonLogicTest::testCommon with data set #384":0,"JsonLogicTest::testCommon with data set #385":0,"JsonLogicTest::testCommon with data set #386":0,"JsonLogicTest::testCommon with data set #387":0,"JsonLogicTest::testCommon with data set #388":0,"JsonLogicTest::testCommon with data set #389":0,"JsonLogicTest::testCommon with data set #390":0,"JsonLogicTest::testCommon with data set #391":0,"JsonLogicTest::testCommon with data set #392":0,"JsonLogicTest::testCommon with data set #393":0,"JsonLogicTest::testCommon with data set #394":0,"JsonLogicTest::testCommon with data set #395":0,"JsonLogicTest::testCommon with data set #396":0,"JsonLogicTest::testCommon with data set #397":0,"JsonLogicTest::testCommon with data set #398":0,"JsonLogicTest::testCommon with data set #399":0,"JsonLogicTest::testCommon with data set #400":0,"JsonLogicTest::testCommon with data set #401":0,"JsonLogicTest::testCommon with data set #402":0,"JsonLogicTest::testCommon with data set #403":0,"JsonLogicTest::testCommon with data set #404":0,"JsonLogicTest::testCommon with data set #405":0,"JsonLogicTest::testCommon with data set #406":0,"JsonLogicTest::testCommon with data set #407":0,"JsonLogicTest::testCommon with data set #408":0,"JsonLogicTest::testCommon with data set #409":0,"JsonLogicTest::testCommon with data set #410":0,"JsonLogicTest::testCommon with data set #411":0,"JsonLogicTest::testCommon with data set #412":0,"JsonLogicTest::testCommon with data set #413":0,"JsonLogicTest::testCommon with data set #414":0,"JsonLogicTest::testCommon with data set #415":0,"JsonLogicTest::testCommon with data set #416":0,"JsonLogicTest::testCommon with data set #417":0,"JsonLogicTest::testCommon with data set #418":0,"JsonLogicTest::testCommon with data set #419":0,"JsonLogicTest::testCommon with data set #420":0,"JsonLogicTest::testCommon with data set #421":0,"JsonLogicTest::testCommon with data set #422":0,"JsonLogicTest::testCommon with data set #423":0,"JsonLogicTest::testCommon with data set #424":0,"JsonLogicTest::testCommon with data set #425":0,"JsonLogicTest::testCommon with data set #426":0,"JsonLogicTest::testCommon with data set #427":0,"JsonLogicTest::testCommon with data set #428":0,"JsonLogicTest::testCommon with data set #429":0,"JsonLogicTest::testCommon with data set #430":0,"JsonLogicTest::testCommon with data set #431":0,"JsonLogicTest::testCommon with data set #432":0,"JsonLogicTest::testCommon with data set #433":0,"JsonLogicTest::testCommon with data set #434":0,"JsonLogicTest::testCommon with data set #435":0,"JsonLogicTest::testCommon with data set #436":0,"JsonLogicTest::testCommon with data set #437":0,"JsonLogicTest::testCommon with data set #438":0,"JsonLogicTest::testCommon with data set #439":0,"JsonLogicTest::testCommon with data set #440":0,"JsonLogicTest::testCommon with data set #441":0,"JsonLogicTest::testCommon with data set #442":0,"JsonLogicTest::testCommon with data set #443":0,"JsonLogicTest::testCommon with data set #444":0,"JsonLogicTest::testCommon with data set #445":0,"JsonLogicTest::testCommon with data set #446":0,"JsonLogicTest::testCommon with data set #447":0,"JsonLogicTest::testCommon with data set #448":0,"JsonLogicTest::testCommon with data set #449":0,"JsonLogicTest::testCommon with data set #450":0,"JsonLogicTest::testCommon with data set #451":0,"JsonLogicTest::testCommon with data set #452":0,"JsonLogicTest::testCommon with data set #453":0,"JsonLogicTest::testCommon with data set #454":0,"JsonLogicTest::testCommon with data set #455":0,"JsonLogicTest::testCommon with data set #456":0,"JsonLogicTest::testCommon with data set #457":0,"JsonLogicTest::testCommon with data set #458":0,"JsonLogicTest::testCommon with data set #459":0,"JsonLogicTest::testCommon with data set #460":0,"JsonLogicTest::testCommon with data set #461":0,"JsonLogicTest::testCommon with data set #462":0,"JsonLogicTest::testCommon with data set #463":0,"JsonLogicTest::testCommon with data set #464":0,"JsonLogicTest::testCommon with data set #465":0,"JsonLogicTest::testCommon with data set #466":0,"JsonLogicTest::testCommon with data set #467":0,"JsonLogicTest::testCommon with data set #468":0,"JsonLogicTest::testCommon with data set #469":0,"JsonLogicTest::testCommon with data set #470":0,"JsonLogicTest::testCommon with data set #471":0,"JsonLogicTest::testCommon with data set #472":0,"JsonLogicTest::testCommon with data set #473":0,"JsonLogicTest::testCommon with data set #474":0,"JsonLogicTest::testCommon with data set #475":0,"JsonLogicTest::testCommon with data set #476":0,"JsonLogicTest::testCommon with data set #477":0,"JsonLogicTest::testCommon with data set #478":0,"JsonLogicTest::testCommon with data set #479":0,"JsonLogicTest::testCommon with data set #480":0,"JsonLogicTest::testCommon with data set #481":0,"JsonLogicTest::testCommon with data set #482":0,"JsonLogicTest::testCommon with data set #483":0,"JsonLogicTest::testCommon with data set #484":0,"JsonLogicTest::testCommon with data set #485":0,"JsonLogicTest::testCommon with data set #486":0,"JsonLogicTest::testCommon with data set #487":0,"JsonLogicTest::testCommon with data set #488":0,"JsonLogicTest::testCommon with data set #489":0,"JsonLogicTest::testCommon with data set #490":0,"JsonLogicTest::testCommon with data set #491":0,"JsonLogicTest::testCommon with data set #492":0,"JsonLogicTest::testCommon with data set #493":0,"JsonLogicTest::testCommon with data set #494":0,"JsonLogicTest::testCommon with data set #495":0,"JsonLogicTest::testCommon with data set #496":0,"JsonLogicTest::testCommon with data set #497":0,"JsonLogicTest::testCommon with data set #498":0,"JsonLogicTest::testCommon with data set #499":0,"JsonLogicTest::testCommon with data set #500":0,"JsonLogicTest::testCommon with data set #501":0,"JsonLogicTest::testCommon with data set #502":0,"JsonLogicTest::testCommon with data set #503":0,"JsonLogicTest::testCommon with data set #504":0,"JsonLogicTest::testCommon with data set #505":0,"JsonLogicTest::testCommon with data set #506":0,"JsonLogicTest::testCommon with data set #507":0,"JsonLogicTest::testCommon with data set #508":0,"JsonLogicTest::testCommon with data set #509":0,"JsonLogicTest::testCommon with data set #510":0,"JsonLogicTest::testCommon with data set #511":0,"JsonLogicTest::testCommon with data set #512":0,"JsonLogicTest::testCommon with data set #513":0,"JsonLogicTest::testCommon with data set #514":0,"JsonLogicTest::testCommon with data set #515":0,"JsonLogicTest::testCommon with data set #516":0,"JsonLogicTest::testCommon with data set #517":0,"JsonLogicTest::testCommon with data set #518":0,"JsonLogicTest::testCommon with data set #519":0,"JsonLogicTest::testCommon with data set #520":0,"JsonLogicTest::testCommon with data set #521":0,"JsonLogicTest::testCommon with data set #522":0,"JsonLogicTest::testCommon with data set #523":0,"JsonLogicTest::testCommon with data set #524":0,"JsonLogicTest::testCommon with data set #525":0,"JsonLogicTest::testCommon with data set #526":0,"JsonLogicTest::testCommon with data set #527":0,"JsonLogicTest::testCommon with data set #528":0,"JsonLogicTest::testCommon with data set #529":0,"JsonLogicTest::testCommon with data set #530":0,"JsonLogicTest::testCommon with data set #531":0,"JsonLogicTest::testCommon with data set #532":0,"JsonLogicTest::testCommon with data set #533":0,"JsonLogicTest::testCommon with data set #534":0,"JsonLogicTest::testCommon with data set #535":0,"JsonLogicTest::testCommon with data set #536":0,"JsonLogicTest::testCommon with data set #537":0,"JsonLogicTest::testCommon with data set #538":0,"JsonLogicTest::testCommon with data set #539":0,"JsonLogicTest::testCommon with data set #540":0,"JsonLogicTest::testCommon with data set #541":0,"JsonLogicTest::testCommon with data set #542":0,"JsonLogicTest::testCommon with data set #543":0,"JsonLogicTest::testCommon with data set #544":0,"JsonLogicTest::testCommon with data set #545":0,"JsonLogicTest::testCommon with data set #546":0,"JsonLogicTest::testCommon with data set #547":0,"JsonLogicTest::testCommon with data set #548":0,"JsonLogicTest::testCommon with data set #549":0,"JsonLogicTest::testPattern with data set #0":0,"JsonLogicTest::testPattern with data set #1":0,"JsonLogicTest::testPattern with data set #2":0,"JsonLogicTest::testPattern with data set #3":0,"JsonLogicTest::testPattern with data set #4":0,"JsonLogicTest::testPattern with data set #5":0,"JsonLogicTest::testPattern with data set #6":0,"JsonLogicTest::testPattern with data set #7":0,"JsonLogicTest::testPattern with data set #8":0,"JsonLogicTest::testPattern with data set #9":0,"JsonLogicTest::testPattern with data set #10":0,"JsonLogicTest::testPattern with data set #11":0,"JsonLogicTest::testPattern with data set #12":0,"JsonLogicTest::testPattern with data set #13":0,"JsonLogicTest::testPattern with data set #14":0,"JsonLogicTest::testPattern with data set #15":0,"JsonLogicTest::testPattern with data set #16":0,"JsonLogicTest::testPattern with data set #17":0,"JsonLogicTest::testPattern with data set #18":0,"JsonLogicTest::testPattern with data set #19":0,"JsonLogicTest::testPattern with data set #20":0,"JsonLogicTest::testPattern with data set #21":0,"JsonLogicTest::testPattern with data set #22":0,"JsonLogicTest::testPattern with data set #23":0,"JsonLogicTest::testPattern with data set #24":0,"JsonLogicTest::testPattern with data set #25":0,"JsonLogicTest::testPattern with data set #26":0,"JsonLogicTest::testPattern with data set #27":0,"JsonLogicTest::testPattern with data set #28":0,"JsonLogicTest::testPattern with data set #29":0,"JsonLogicTest::testPattern with data set #30":0,"JsonLogicTest::testPattern with data set #31":0,"JsonLogicTest::testPattern with data set #32":0,"JsonLogicTest::testPattern with data set #33":0,"JsonLogicTest::testPattern with data set #34":0,"JsonLogicTest::testPattern with data set #35":0,"JsonLogicTest::testPattern with data set #36":0,"JsonLogicTest::testPattern with data set #37":0,"JsonLogicTest::testPattern with data set #38":0,"JsonLogicTest::testProblematicPattern":0,"JsonLogicTest::testAddOperation":0.001,"MagicPropertiesTest::testValidMagicWorks":0,"MagicPropertiesTest::testMixtureOfRealPropertiesAndMagicWorks":0,"MagicPropertiesTest::testInvalidMagicReturnsDefault":0,"MagicPropertiesTest::testMethodsShouldReturnDefault":0,"ObjectWithArrayAccessorsTest::testValidArrayAccessWorks":0,"ObjectWithArrayAccessorsTest::testInvalidArrayAccessReturnsDefault":0,"ObjectWithArrayAccessorsTest::testCanMixPropertiesAndArrayAccess":0,"LazyEvaluationTest::testLazyIf":0,"LazyEvaluationTest::testAndExitsFirstFalse":0,"LazyEvaluationTest::testAndEvaluatesEveryTruthyArgument":0,"LazyEvaluationTest::testAndHaltsOnFirstFalsyArgument":0,"LazyEvaluationTest::testOrHaltsOnFirstTruthyArgument":0,"LazyEvaluationTest::testOrEvaluatesEveryFalsyArgument":0,"JsonLogicTest::testCommon with data set #550":0,"JsonLogicTest::testCommon with data set #551":0,"JsonLogicTest::testCommon with data set #552":0,"JsonLogicTest::testCommon with data set #553":0}} \ No newline at end of file +{"version":1,"defects":{"JsonLogicTest::testInvalidOperator":4,"LazyEvaluationTest::testAndExitsFirstFalse":3,"LazyEvaluationTest::testOrHaltsOnFirstTruthyArgument":3,"LazyEvaluationTest::testOrEvaluatesEveryFalsyArgument":3,"JsonLogicTest::testCommon with data set #183":4,"JsonLogicTest::testCommon with data set #184":4,"JsonLogicTest::testCommon with data set #190":4,"JsonLogicTest::testCommon with data set #193":4,"JsonLogicTest::testCommon with data set #198":4,"JsonLogicTest::testCommon with data set #201":4,"JsonLogicTest::testCommon with data set #202":4,"JsonLogicTest::testCommon with data set #203":4,"JsonLogicTest::testCommon with data set #204":4,"JsonLogicTest::testCommon with data set #205":4,"JsonLogicTest::testCommon with data set #206":4,"JsonLogicTest::testCommon with data set #210":4,"JsonLogicTest::testCommon with data set #211":4,"JsonLogicTest::testCommon with data set #216":4,"JsonLogicTest::testCommon with data set #217":4,"JsonLogicTest::testCommon with data set #218":4,"JsonLogicTest::testCommon with data set #219":4,"JsonLogicTest::testCommon with data set #220":4,"JsonLogicTest::testCommon with data set #226":4,"JsonLogicTest::testCommon with data set #227":4,"JsonLogicTest::testCommon with data set #228":4,"JsonLogicTest::testCommon with data set #229":4,"JsonLogicTest::testCommon with data set #230":4,"JsonLogicTest::testCommon with data set #232":4,"JsonLogicTest::testCommon with data set #233":4,"JsonLogicTest::testCommon with data set #234":4,"JsonLogicTest::testCommon with data set #235":4,"JsonLogicTest::testCommon with data set #237":4,"JsonLogicTest::testCommon with data set #239":4,"JsonLogicTest::testCommon with data set #241":4,"JsonLogicTest::testCommon with data set #243":4,"JsonLogicTest::testCommon with data set #244":4,"JsonLogicTest::testCommon with data set #245":4,"JsonLogicTest::testCommon with data set #247":4,"JsonLogicTest::testCommon with data set #248":4,"JsonLogicTest::testCommon with data set #250":4,"JsonLogicTest::testCommon with data set #252":4,"JsonLogicTest::testCommon with data set #253":4,"JsonLogicTest::testCommon with data set #257":4,"JsonLogicTest::testCommon with data set #261":4,"JsonLogicTest::testCommon with data set #262":4,"JsonLogicTest::testCommon with data set #265":4,"JsonLogicTest::testCommon with data set #266":4,"JsonLogicTest::testCommon with data set #269":4,"JsonLogicTest::testCommon with data set #270":4,"JsonLogicTest::testCommon with data set #273":4,"JsonLogicTest::testCommon with data set #274":4,"JsonLogicTest::testCommon with data set #460":4,"JsonLogicTest::testCommon with data set #461":4,"JsonLogicTest::testCommon with data set #467":4,"JsonLogicTest::testCommon with data set #470":4,"JsonLogicTest::testCommon with data set #475":4,"JsonLogicTest::testCommon with data set #478":4,"JsonLogicTest::testCommon with data set #479":4,"JsonLogicTest::testCommon with data set #480":4,"JsonLogicTest::testCommon with data set #481":4,"JsonLogicTest::testCommon with data set #482":4,"JsonLogicTest::testCommon with data set #483":4,"JsonLogicTest::testCommon with data set #487":4,"JsonLogicTest::testCommon with data set #488":4,"JsonLogicTest::testCommon with data set #493":4,"JsonLogicTest::testCommon with data set #494":4,"JsonLogicTest::testCommon with data set #495":4,"JsonLogicTest::testCommon with data set #496":4,"JsonLogicTest::testCommon with data set #497":4,"JsonLogicTest::testCommon with data set #503":4,"JsonLogicTest::testCommon with data set #504":4,"JsonLogicTest::testCommon with data set #505":4,"JsonLogicTest::testCommon with data set #506":4,"JsonLogicTest::testCommon with data set #507":4,"JsonLogicTest::testCommon with data set #509":4,"JsonLogicTest::testCommon with data set #510":4,"JsonLogicTest::testCommon with data set #511":4,"JsonLogicTest::testCommon with data set #512":4,"JsonLogicTest::testCommon with data set #514":4,"JsonLogicTest::testCommon with data set #516":4,"JsonLogicTest::testCommon with data set #518":4,"JsonLogicTest::testCommon with data set #520":4,"JsonLogicTest::testCommon with data set #521":4,"JsonLogicTest::testCommon with data set #522":4,"JsonLogicTest::testCommon with data set #524":4,"JsonLogicTest::testCommon with data set #525":4,"JsonLogicTest::testCommon with data set #527":4,"JsonLogicTest::testCommon with data set #529":4,"JsonLogicTest::testCommon with data set #530":4,"JsonLogicTest::testCommon with data set #534":4,"JsonLogicTest::testCommon with data set #538":4,"JsonLogicTest::testCommon with data set #539":4,"JsonLogicTest::testCommon with data set #542":4,"JsonLogicTest::testCommon with data set #543":4,"JsonLogicTest::testCommon with data set #546":4,"JsonLogicTest::testCommon with data set #547":4,"JsonLogicTest::testCommon with data set #550":4,"JsonLogicTest::testCommon with data set #551":4,"JsonLogicTest::testAddOperation":3,"MagicPropertiesTest::testValidMagicWorks":3,"MagicPropertiesTest::testMixtureOfRealPropertiesAndMagicWorks":3,"ObjectWithArrayAccessorsTest::testValidArrayAccessWorks":3,"ObjectWithArrayAccessorsTest::testCanMixPropertiesAndArrayAccess":3,"JsonLogicTest::testCommon with data set #258":4,"JsonLogicTest::testCommon with data set #259":4,"JsonLogicTest::testCommon with data set #267":4,"JsonLogicTest::testCommon with data set #275":4,"JsonLogicTest::testCommon with data set #535":4,"JsonLogicTest::testCommon with data set #536":4,"JsonLogicTest::testCommon with data set #544":4,"JsonLogicTest::testCommon with data set #552":4,"Error":4,"JsonLogicTest::testCommon with data set #554":3,"JsonLogicTest::testCommon with data set #555":3,"JsonLogicTest::testCommon with data set #556":3,"JsonLogicTest::testCommon with data set #559":3,"JsonLogicTest::testCommon with data set #562":3,"JsonLogicTest::testCommon with data set #563":3,"JsonLogicTest::testCommon with data set #564":3,"JsonLogicTest::testCommon with data set #566":3,"JsonLogicTest::testCommon with data set #567":3,"JsonLogicTest::testCommon with data set #568":3,"JsonLogicTest::testCommon with data set #569":3,"JsonLogicTest::testCommon with data set #570":3,"JsonLogicTest::testCommon with data set #571":3,"JsonLogicTest::testCommon with data set #572":3,"JsonLogicTest::testCommon with data set #576":3,"JsonLogicTest::testCommon with data set #577":3,"JsonLogicTest::testCommon with data set #578":3,"JsonLogicTest::testCommon with data set #579":4,"JsonLogicTest::testCommon with data set #581":3,"JsonLogicTest::testCommon with data set #583":3,"JsonLogicTest::testCommon with data set #584":4,"JsonLogicTest::testCommon with data set #585":4,"JsonLogicTest::testCommon with data set #587":3,"JsonLogicTest::testCommon with data set #588":3,"JsonLogicTest::testCommon with data set #590":4,"JsonLogicTest::testCommon with data set #592":3,"JsonLogicTest::testCommon with data set #593":3,"JsonLogicTest::testCommon with data set #597":4,"JsonLogicTest::testCommon with data set #601":4,"JsonLogicTest::testCommon with data set #602":3,"JsonLogicTest::testCommon with data set #605":4,"JsonLogicTest::testCommon with data set #606":4,"JsonLogicTest::testCommon with data set #609":4,"JsonLogicTest::testCommon with data set #610":3,"JsonLogicTest::testCommon with data set #613":4,"JsonLogicTest::testCommon with data set #614":4,"JsonLogicTest::testCommon with data set #617":3,"JsonLogicTest::testCommon with data set #618":3,"JsonLogicTest::testCommon with data set #619":3,"JsonLogicTest::testCommon with data set #622":3,"JsonLogicTest::testCommon with data set #625":3,"JsonLogicTest::testCommon with data set #626":3,"JsonLogicTest::testCommon with data set #627":3,"JsonLogicTest::testCommon with data set #629":3,"JsonLogicTest::testCommon with data set #630":3,"JsonLogicTest::testCommon with data set #631":3,"JsonLogicTest::testCommon with data set #632":3,"JsonLogicTest::testCommon with data set #633":3,"JsonLogicTest::testCommon with data set #634":3,"JsonLogicTest::testCommon with data set #635":3,"JsonLogicTest::testCommon with data set #639":3,"JsonLogicTest::testCommon with data set #640":3,"JsonLogicTest::testCommon with data set #641":3,"JsonLogicTest::testCommon with data set #642":4,"JsonLogicTest::testCommon with data set #644":3,"JsonLogicTest::testCommon with data set #646":3,"JsonLogicTest::testCommon with data set #647":4,"JsonLogicTest::testCommon with data set #648":4,"JsonLogicTest::testCommon with data set #650":3,"JsonLogicTest::testCommon with data set #651":3,"JsonLogicTest::testCommon with data set #653":4,"JsonLogicTest::testCommon with data set #655":3,"JsonLogicTest::testCommon with data set #656":3,"JsonLogicTest::testCommon with data set #660":4,"JsonLogicTest::testCommon with data set #664":4,"JsonLogicTest::testCommon with data set #665":3,"JsonLogicTest::testCommon with data set #668":4,"JsonLogicTest::testCommon with data set #669":4,"JsonLogicTest::testCommon with data set #672":4,"JsonLogicTest::testCommon with data set #673":3,"JsonLogicTest::testCommon with data set #676":3,"JsonLogicTest::testCommon with data set #677":4,"JsonLogicTest::testCommon with data set #0":3,"JsonLogicTest::testCommon with data set #1":3,"JsonLogicTest::testCommon with data set #2":3,"JsonLogicTest::testCommon with data set #5":4,"JsonLogicTest::testCommon with data set #8":4,"JsonLogicTest::testCommon with data set #9":4,"JsonLogicTest::testCommon with data set #10":4,"JsonLogicTest::testCommon with data set #12":4,"JsonLogicTest::testCommon with data set #13":4,"JsonLogicTest::testCommon with data set #14":4,"JsonLogicTest::testCommon with data set #15":4,"JsonLogicTest::testCommon with data set #16":4,"JsonLogicTest::testCommon with data set #17":4,"JsonLogicTest::testCommon with data set #18":4,"JsonLogicTest::testCommon with data set #22":4,"JsonLogicTest::testCommon with data set #23":4,"JsonLogicTest::testCommon with data set #24":4,"JsonLogicTest::testCommon with data set #25":4,"JsonLogicTest::testCommon with data set #27":4,"JsonLogicTest::testCommon with data set #29":4,"JsonLogicTest::testCommon with data set #30":4,"JsonLogicTest::testCommon with data set #31":4,"JsonLogicTest::testCommon with data set #33":4,"JsonLogicTest::testCommon with data set #34":4,"JsonLogicTest::testCommon with data set #36":4,"JsonLogicTest::testCommon with data set #38":4,"JsonLogicTest::testCommon with data set #39":4,"JsonLogicTest::testCommon with data set #43":4,"JsonLogicTest::testCommon with data set #47":4,"JsonLogicTest::testCommon with data set #48":4,"JsonLogicTest::testCommon with data set #51":4,"JsonLogicTest::testCommon with data set #52":4,"JsonLogicTest::testCommon with data set #55":4,"JsonLogicTest::testCommon with data set #56":4,"JsonLogicTest::testCommon with data set #59":4,"JsonLogicTest::testCommon with data set #60":4,"JsonLogicTest::testCommon with data set #63":4,"JsonLogicTest::testCommon with data set #64":4,"JsonLogicTest::testCommon with data set #65":3,"JsonLogicTest::testCommon with data set #68":4,"JsonLogicTest::testCommon with data set #71":4,"JsonLogicTest::testCommon with data set #72":4,"JsonLogicTest::testCommon with data set #73":4,"JsonLogicTest::testCommon with data set #75":4,"JsonLogicTest::testCommon with data set #76":4,"JsonLogicTest::testCommon with data set #77":4,"JsonLogicTest::testCommon with data set #78":4,"JsonLogicTest::testCommon with data set #79":4,"JsonLogicTest::testCommon with data set #80":4,"JsonLogicTest::testCommon with data set #81":4,"JsonLogicTest::testCommon with data set #85":4,"JsonLogicTest::testCommon with data set #86":4,"JsonLogicTest::testCommon with data set #87":4,"JsonLogicTest::testCommon with data set #88":4,"JsonLogicTest::testCommon with data set #90":4,"JsonLogicTest::testCommon with data set #92":4,"JsonLogicTest::testCommon with data set #93":4,"JsonLogicTest::testCommon with data set #94":4,"JsonLogicTest::testCommon with data set #96":4,"JsonLogicTest::testCommon with data set #97":4,"JsonLogicTest::testCommon with data set #99":4,"JsonLogicTest::testCommon with data set #101":4,"JsonLogicTest::testCommon with data set #102":4,"JsonLogicTest::testCommon with data set #106":4,"JsonLogicTest::testCommon with data set #110":4,"JsonLogicTest::testCommon with data set #111":4,"JsonLogicTest::testCommon with data set #114":4,"JsonLogicTest::testCommon with data set #115":4,"JsonLogicTest::testCommon with data set #118":4,"JsonLogicTest::testCommon with data set #119":4,"JsonLogicTest::testCommon with data set #122":4,"JsonLogicTest::testCommon with data set #123":4,"JsonLogicTest::testCommon with data set #277":4,"JsonLogicTest::testCommon with data set #278":4,"JsonLogicTest::testCommon with data set #279":4,"JsonLogicTest::testCommon with data set #282":4,"JsonLogicTest::testCommon with data set #285":4,"JsonLogicTest::testCommon with data set #286":4,"JsonLogicTest::testCommon with data set #287":4,"JsonLogicTest::testCommon with data set #289":4,"JsonLogicTest::testCommon with data set #290":4,"JsonLogicTest::testCommon with data set #291":4,"JsonLogicTest::testCommon with data set #292":4,"JsonLogicTest::testCommon with data set #293":4,"JsonLogicTest::testCommon with data set #294":4,"JsonLogicTest::testCommon with data set #295":4,"JsonLogicTest::testCommon with data set #299":4,"JsonLogicTest::testCommon with data set #300":4,"JsonLogicTest::testCommon with data set #301":4,"JsonLogicTest::testCommon with data set #302":4,"JsonLogicTest::testCommon with data set #304":4,"JsonLogicTest::testCommon with data set #306":4,"JsonLogicTest::testCommon with data set #307":4,"JsonLogicTest::testCommon with data set #308":4,"JsonLogicTest::testCommon with data set #310":4,"JsonLogicTest::testCommon with data set #311":4,"JsonLogicTest::testCommon with data set #313":4,"JsonLogicTest::testCommon with data set #315":4,"JsonLogicTest::testCommon with data set #316":4,"JsonLogicTest::testCommon with data set #320":4,"JsonLogicTest::testCommon with data set #324":4,"JsonLogicTest::testCommon with data set #325":4,"JsonLogicTest::testCommon with data set #328":4,"JsonLogicTest::testCommon with data set #329":4,"JsonLogicTest::testCommon with data set #332":4,"JsonLogicTest::testCommon with data set #333":4,"JsonLogicTest::testCommon with data set #336":4,"JsonLogicTest::testCommon with data set #337":4,"JsonLogicTest::testCommon with data set #3":4,"JsonLogicTest::testCommon with data set #4":4,"JsonLogicTest::testCommon with data set #6":4,"JsonLogicTest::testCommon with data set #7":4,"JsonLogicTest::testCommon with data set #11":4,"JsonLogicTest::testCommon with data set #19":4,"JsonLogicTest::testCommon with data set #20":4,"JsonLogicTest::testCommon with data set #21":4,"JsonLogicTest::testCommon with data set #26":4,"JsonLogicTest::testCommon with data set #28":4,"JsonLogicTest::testCommon with data set #32":4,"JsonLogicTest::testCommon with data set #35":4,"JsonLogicTest::testCommon with data set #37":4,"JsonLogicTest::testCommon with data set #40":4,"JsonLogicTest::testCommon with data set #41":4,"JsonLogicTest::testCommon with data set #42":4,"JsonLogicTest::testCommon with data set #44":4,"JsonLogicTest::testCommon with data set #45":4,"JsonLogicTest::testCommon with data set #46":4,"JsonLogicTest::testCommon with data set #49":4,"JsonLogicTest::testCommon with data set #50":4,"JsonLogicTest::testCommon with data set #53":4,"JsonLogicTest::testCommon with data set #54":4,"JsonLogicTest::testCommon with data set #57":4,"JsonLogicTest::testCommon with data set #58":4,"JsonLogicTest::testCommon with data set #61":4,"JsonLogicTest::testCommon with data set #62":4,"JsonLogicTest::testCommon with data set #66":4,"JsonLogicTest::testCommon with data set #67":4,"JsonLogicTest::testCommon with data set #69":4,"JsonLogicTest::testCommon with data set #70":4,"JsonLogicTest::testCommon with data set #74":4,"JsonLogicTest::testCommon with data set #82":4,"JsonLogicTest::testCommon with data set #83":4,"JsonLogicTest::testCommon with data set #84":4,"JsonLogicTest::testCommon with data set #89":4,"JsonLogicTest::testCommon with data set #91":4,"JsonLogicTest::testCommon with data set #95":4,"JsonLogicTest::testCommon with data set #98":4,"JsonLogicTest::testCommon with data set #100":4,"JsonLogicTest::testCommon with data set #103":4,"JsonLogicTest::testCommon with data set #104":4,"JsonLogicTest::testCommon with data set #105":4,"JsonLogicTest::testCommon with data set #107":4,"JsonLogicTest::testCommon with data set #108":4,"JsonLogicTest::testCommon with data set #109":4,"JsonLogicTest::testCommon with data set #112":4,"JsonLogicTest::testCommon with data set #113":4,"JsonLogicTest::testCommon with data set #116":4,"JsonLogicTest::testCommon with data set #117":4,"JsonLogicTest::testCommon with data set #120":4,"JsonLogicTest::testCommon with data set #121":4,"JsonLogicTest::testCommon with data set #124":4,"JsonLogicTest::testCommon with data set #125":4,"JsonLogicTest::testCommon with data set #126":4,"JsonLogicTest::testCommon with data set #127":4,"JsonLogicTest::testCommon with data set #128":4,"JsonLogicTest::testCommon with data set #129":4,"JsonLogicTest::testCommon with data set #130":4,"JsonLogicTest::testCommon with data set #131":4,"JsonLogicTest::testCommon with data set #132":4,"JsonLogicTest::testCommon with data set #133":4,"JsonLogicTest::testCommon with data set #134":4,"JsonLogicTest::testCommon with data set #135":4,"JsonLogicTest::testCommon with data set #136":4,"JsonLogicTest::testCommon with data set #137":4,"JsonLogicTest::testCommon with data set #138":4,"JsonLogicTest::testCommon with data set #139":4,"JsonLogicTest::testCommon with data set #140":4,"JsonLogicTest::testCommon with data set #141":4,"JsonLogicTest::testCommon with data set #142":4,"JsonLogicTest::testCommon with data set #143":4,"JsonLogicTest::testCommon with data set #144":4,"JsonLogicTest::testCommon with data set #145":4,"JsonLogicTest::testCommon with data set #146":4,"JsonLogicTest::testCommon with data set #147":4,"JsonLogicTest::testCommon with data set #148":4,"JsonLogicTest::testCommon with data set #149":4,"JsonLogicTest::testCommon with data set #150":4,"JsonLogicTest::testCommon with data set #151":4,"JsonLogicTest::testCommon with data set #152":4,"JsonLogicTest::testCommon with data set #153":4,"JsonLogicTest::testCommon with data set #154":4,"JsonLogicTest::testCommon with data set #155":4,"JsonLogicTest::testCommon with data set #156":4,"JsonLogicTest::testCommon with data set #157":4,"JsonLogicTest::testCommon with data set #158":4,"JsonLogicTest::testCommon with data set #159":4,"JsonLogicTest::testCommon with data set #160":4,"JsonLogicTest::testCommon with data set #161":4,"JsonLogicTest::testCommon with data set #162":4,"JsonLogicTest::testCommon with data set #163":4,"JsonLogicTest::testCommon with data set #164":4,"JsonLogicTest::testCommon with data set #165":4,"JsonLogicTest::testCommon with data set #166":4,"JsonLogicTest::testCommon with data set #167":4,"JsonLogicTest::testCommon with data set #168":4,"JsonLogicTest::testCommon with data set #169":4,"JsonLogicTest::testCommon with data set #170":4,"JsonLogicTest::testCommon with data set #171":4,"JsonLogicTest::testCommon with data set #172":4,"JsonLogicTest::testCommon with data set #173":4,"JsonLogicTest::testCommon with data set #174":4,"JsonLogicTest::testCommon with data set #175":4,"JsonLogicTest::testCommon with data set #176":4,"JsonLogicTest::testCommon with data set #177":4,"JsonLogicTest::testCommon with data set #178":4,"JsonLogicTest::testCommon with data set #179":4,"JsonLogicTest::testCommon with data set #180":4,"JsonLogicTest::testCommon with data set #181":4,"JsonLogicTest::testCommon with data set #182":4,"JsonLogicTest::testCommon with data set #185":4,"JsonLogicTest::testCommon with data set #186":4,"JsonLogicTest::testCommon with data set #187":4,"JsonLogicTest::testCommon with data set #188":4,"JsonLogicTest::testCommon with data set #189":4,"JsonLogicTest::testCommon with data set #191":4,"JsonLogicTest::testCommon with data set #192":4,"JsonLogicTest::testCommon with data set #194":4,"JsonLogicTest::testCommon with data set #195":4,"JsonLogicTest::testCommon with data set #196":4,"JsonLogicTest::testCommon with data set #197":4,"JsonLogicTest::testCommon with data set #199":4,"JsonLogicTest::testCommon with data set #200":4,"JsonLogicTest::testCommon with data set #207":4,"JsonLogicTest::testCommon with data set #208":4,"JsonLogicTest::testCommon with data set #209":4,"JsonLogicTest::testCommon with data set #212":4,"JsonLogicTest::testCommon with data set #213":4,"JsonLogicTest::testCommon with data set #214":4,"JsonLogicTest::testCommon with data set #215":4,"JsonLogicTest::testCommon with data set #221":4,"JsonLogicTest::testCommon with data set #222":4,"JsonLogicTest::testCommon with data set #223":4,"JsonLogicTest::testCommon with data set #224":4,"JsonLogicTest::testCommon with data set #225":4,"JsonLogicTest::testCommon with data set #231":4,"JsonLogicTest::testCommon with data set #236":4,"JsonLogicTest::testCommon with data set #238":4,"JsonLogicTest::testCommon with data set #240":4,"JsonLogicTest::testCommon with data set #242":4,"JsonLogicTest::testCommon with data set #246":4,"JsonLogicTest::testCommon with data set #249":4,"JsonLogicTest::testCommon with data set #251":4,"JsonLogicTest::testCommon with data set #254":4,"JsonLogicTest::testCommon with data set #255":4,"JsonLogicTest::testCommon with data set #256":4,"JsonLogicTest::testCommon with data set #260":4,"JsonLogicTest::testCommon with data set #263":4,"JsonLogicTest::testCommon with data set #264":4,"JsonLogicTest::testCommon with data set #268":4,"JsonLogicTest::testCommon with data set #271":4,"JsonLogicTest::testCommon with data set #272":4,"JsonLogicTest::testCommon with data set #276":4,"JsonLogicTest::testCommon with data set #280":4,"JsonLogicTest::testCommon with data set #281":4,"JsonLogicTest::testCommon with data set #283":4,"JsonLogicTest::testCommon with data set #284":4,"JsonLogicTest::testCommon with data set #288":4,"JsonLogicTest::testCommon with data set #296":4,"JsonLogicTest::testCommon with data set #297":4,"JsonLogicTest::testCommon with data set #298":4,"JsonLogicTest::testCommon with data set #303":4,"JsonLogicTest::testCommon with data set #305":4,"JsonLogicTest::testCommon with data set #309":4,"JsonLogicTest::testCommon with data set #312":4,"JsonLogicTest::testCommon with data set #314":4,"JsonLogicTest::testCommon with data set #317":4,"JsonLogicTest::testCommon with data set #318":4,"JsonLogicTest::testCommon with data set #319":4,"JsonLogicTest::testCommon with data set #321":4,"JsonLogicTest::testCommon with data set #322":4,"JsonLogicTest::testCommon with data set #323":4,"JsonLogicTest::testCommon with data set #326":4,"JsonLogicTest::testCommon with data set #327":4,"JsonLogicTest::testCommon with data set #330":4,"JsonLogicTest::testCommon with data set #331":4,"JsonLogicTest::testCommon with data set #334":4,"JsonLogicTest::testCommon with data set #335":4,"JsonLogicTest::testCommon with data set #338":4,"JsonLogicTest::testCommon with data set #339":4,"JsonLogicTest::testCommon with data set #340":4,"JsonLogicTest::testCommon with data set #341":4,"JsonLogicTest::testCommon with data set #342":4,"JsonLogicTest::testCommon with data set #343":4,"JsonLogicTest::testCommon with data set #344":4,"JsonLogicTest::testCommon with data set #345":4,"JsonLogicTest::testCommon with data set #346":4,"JsonLogicTest::testCommon with data set #347":4,"JsonLogicTest::testCommon with data set #348":4,"JsonLogicTest::testCommon with data set #349":4,"JsonLogicTest::testCommon with data set #350":4,"JsonLogicTest::testCommon with data set #351":4,"JsonLogicTest::testCommon with data set #352":4,"JsonLogicTest::testCommon with data set #353":4,"JsonLogicTest::testCommon with data set #354":4,"JsonLogicTest::testCommon with data set #355":4,"JsonLogicTest::testCommon with data set #356":4,"JsonLogicTest::testCommon with data set #357":4,"JsonLogicTest::testCommon with data set #358":4,"JsonLogicTest::testCommon with data set #359":4,"JsonLogicTest::testCommon with data set #360":4,"JsonLogicTest::testCommon with data set #361":4,"JsonLogicTest::testCommon with data set #362":4,"JsonLogicTest::testCommon with data set #363":4,"JsonLogicTest::testCommon with data set #364":4,"JsonLogicTest::testCommon with data set #365":4,"JsonLogicTest::testCommon with data set #366":4,"JsonLogicTest::testCommon with data set #367":4,"JsonLogicTest::testCommon with data set #368":4,"JsonLogicTest::testCommon with data set #369":4,"JsonLogicTest::testCommon with data set #370":4,"JsonLogicTest::testCommon with data set #371":4,"JsonLogicTest::testCommon with data set #372":4,"JsonLogicTest::testCommon with data set #373":4,"JsonLogicTest::testCommon with data set #374":4,"JsonLogicTest::testCommon with data set #375":4,"JsonLogicTest::testCommon with data set #376":4,"JsonLogicTest::testCommon with data set #377":4,"JsonLogicTest::testCommon with data set #378":4,"JsonLogicTest::testCommon with data set #379":4,"JsonLogicTest::testCommon with data set #380":4,"JsonLogicTest::testCommon with data set #381":4,"JsonLogicTest::testCommon with data set #382":4,"JsonLogicTest::testCommon with data set #383":4,"JsonLogicTest::testCommon with data set #384":4,"JsonLogicTest::testCommon with data set #385":4,"JsonLogicTest::testCommon with data set #386":4,"JsonLogicTest::testCommon with data set #387":4,"JsonLogicTest::testCommon with data set #388":4,"JsonLogicTest::testCommon with data set #389":4,"JsonLogicTest::testCommon with data set #390":4,"JsonLogicTest::testCommon with data set #391":4,"JsonLogicTest::testCommon with data set #392":4,"JsonLogicTest::testCommon with data set #393":4,"JsonLogicTest::testCommon with data set #394":4,"JsonLogicTest::testCommon with data set #395":4,"JsonLogicTest::testCommon with data set #396":4,"JsonLogicTest::testCommon with data set #397":4,"JsonLogicTest::testCommon with data set #398":4,"JsonLogicTest::testCommon with data set #399":4,"JsonLogicTest::testCommon with data set #400":4,"JsonLogicTest::testCommon with data set #401":4,"JsonLogicTest::testCommon with data set #402":4,"JsonLogicTest::testCommon with data set #403":4,"JsonLogicTest::testCommon with data set #404":4,"JsonLogicTest::testCommon with data set #405":4,"JsonLogicTest::testCommon with data set #406":4,"JsonLogicTest::testCommon with data set #407":4,"JsonLogicTest::testCommon with data set #408":4,"JsonLogicTest::testCommon with data set #409":4,"JsonLogicTest::testCommon with data set #410":4,"JsonLogicTest::testCommon with data set #411":4,"JsonLogicTest::testCommon with data set #412":4,"JsonLogicTest::testCommon with data set #413":4,"JsonLogicTest::testCommon with data set #414":4,"JsonLogicTest::testCommon with data set #415":4,"JsonLogicTest::testCommon with data set #416":4,"JsonLogicTest::testCommon with data set #417":4,"JsonLogicTest::testCommon with data set #418":4,"JsonLogicTest::testCommon with data set #419":4,"JsonLogicTest::testCommon with data set #420":4,"JsonLogicTest::testCommon with data set #421":4,"JsonLogicTest::testCommon with data set #422":4,"JsonLogicTest::testCommon with data set #423":4,"JsonLogicTest::testCommon with data set #424":4,"JsonLogicTest::testCommon with data set #425":4,"JsonLogicTest::testCommon with data set #426":4,"JsonLogicTest::testCommon with data set #427":4,"JsonLogicTest::testCommon with data set #428":4,"JsonLogicTest::testCommon with data set #429":4,"JsonLogicTest::testCommon with data set #430":4,"JsonLogicTest::testCommon with data set #431":4,"JsonLogicTest::testCommon with data set #432":4,"JsonLogicTest::testCommon with data set #433":4,"JsonLogicTest::testCommon with data set #434":4,"JsonLogicTest::testCommon with data set #435":4,"JsonLogicTest::testCommon with data set #436":4,"JsonLogicTest::testCommon with data set #437":4,"JsonLogicTest::testCommon with data set #438":4,"JsonLogicTest::testCommon with data set #439":4,"JsonLogicTest::testCommon with data set #440":4,"JsonLogicTest::testCommon with data set #441":4,"JsonLogicTest::testCommon with data set #442":4,"JsonLogicTest::testCommon with data set #443":4,"JsonLogicTest::testCommon with data set #444":4,"JsonLogicTest::testCommon with data set #445":4,"JsonLogicTest::testCommon with data set #446":4,"JsonLogicTest::testCommon with data set #447":4,"JsonLogicTest::testCommon with data set #448":4,"JsonLogicTest::testCommon with data set #449":4,"JsonLogicTest::testCommon with data set #450":4,"JsonLogicTest::testCommon with data set #451":4,"JsonLogicTest::testCommon with data set #452":4,"JsonLogicTest::testCommon with data set #453":4,"JsonLogicTest::testCommon with data set #454":4,"JsonLogicTest::testCommon with data set #455":4,"JsonLogicTest::testCommon with data set #456":4,"JsonLogicTest::testCommon with data set #457":4,"JsonLogicTest::testCommon with data set #458":4,"JsonLogicTest::testCommon with data set #459":4,"JsonLogicTest::testCommon with data set #462":4,"JsonLogicTest::testCommon with data set #463":4,"JsonLogicTest::testCommon with data set #464":4,"JsonLogicTest::testCommon with data set #465":4,"JsonLogicTest::testCommon with data set #466":4,"JsonLogicTest::testCommon with data set #468":4,"JsonLogicTest::testCommon with data set #469":4,"JsonLogicTest::testCommon with data set #471":4,"JsonLogicTest::testCommon with data set #472":4,"JsonLogicTest::testCommon with data set #473":4,"JsonLogicTest::testCommon with data set #474":4,"JsonLogicTest::testCommon with data set #476":4,"JsonLogicTest::testCommon with data set #477":4,"JsonLogicTest::testCommon with data set #484":4,"JsonLogicTest::testCommon with data set #485":4,"JsonLogicTest::testCommon with data set #486":4,"JsonLogicTest::testCommon with data set #489":4,"JsonLogicTest::testCommon with data set #490":4,"JsonLogicTest::testCommon with data set #491":4,"JsonLogicTest::testCommon with data set #492":4,"JsonLogicTest::testCommon with data set #498":4,"JsonLogicTest::testCommon with data set #499":4,"JsonLogicTest::testCommon with data set #500":4,"JsonLogicTest::testCommon with data set #501":4,"JsonLogicTest::testCommon with data set #502":4,"JsonLogicTest::testCommon with data set #508":4,"JsonLogicTest::testCommon with data set #513":4,"JsonLogicTest::testCommon with data set #515":4,"JsonLogicTest::testCommon with data set #517":4,"JsonLogicTest::testCommon with data set #519":4,"JsonLogicTest::testCommon with data set #523":4,"JsonLogicTest::testCommon with data set #526":4,"JsonLogicTest::testCommon with data set #528":4,"JsonLogicTest::testCommon with data set #531":4,"JsonLogicTest::testCommon with data set #532":4,"JsonLogicTest::testCommon with data set #533":4,"JsonLogicTest::testCommon with data set #537":4,"JsonLogicTest::testCommon with data set #540":4,"JsonLogicTest::testCommon with data set #541":4,"JsonLogicTest::testCommon with data set #545":4,"JsonLogicTest::testCommon with data set #548":4,"JsonLogicTest::testCommon with data set #549":4,"JsonLogicTest::testCommon with data set #553":4,"JsonLogicTest::testCommon with data set #557":3,"JsonLogicTest::testCommon with data set #558":3,"JsonLogicTest::testCommon with data set #560":3,"JsonLogicTest::testCommon with data set #561":3,"JsonLogicTest::testCommon with data set #565":3,"JsonLogicTest::testCommon with data set #573":3,"JsonLogicTest::testCommon with data set #574":3,"JsonLogicTest::testCommon with data set #575":3,"JsonLogicTest::testCommon with data set #580":3,"JsonLogicTest::testCommon with data set #582":4,"JsonLogicTest::testCommon with data set #586":4,"JsonLogicTest::testCommon with data set #589":4,"JsonLogicTest::testCommon with data set #591":4,"JsonLogicTest::testCommon with data set #594":4,"JsonLogicTest::testCommon with data set #595":4,"JsonLogicTest::testCommon with data set #596":4,"JsonLogicTest::testCommon with data set #598":3,"JsonLogicTest::testCommon with data set #599":4,"JsonLogicTest::testCommon with data set #600":3,"JsonLogicTest::testCommon with data set #603":3,"JsonLogicTest::testCommon with data set #604":3,"JsonLogicTest::testCommon with data set #607":4,"JsonLogicTest::testCommon with data set #608":3,"JsonLogicTest::testCommon with data set #611":3,"JsonLogicTest::testCommon with data set #612":3,"JsonLogicTest::testCommon with data set #615":4,"JsonLogicTest::testCommon with data set #616":3,"JsonLogicTest::testCommon with data set #620":3,"JsonLogicTest::testCommon with data set #621":3,"JsonLogicTest::testCommon with data set #623":3,"JsonLogicTest::testCommon with data set #624":3,"JsonLogicTest::testCommon with data set #628":3,"JsonLogicTest::testCommon with data set #636":3,"JsonLogicTest::testCommon with data set #637":3,"JsonLogicTest::testCommon with data set #638":3,"JsonLogicTest::testCommon with data set #643":3,"JsonLogicTest::testCommon with data set #645":4,"JsonLogicTest::testCommon with data set #649":4,"JsonLogicTest::testCommon with data set #652":4,"JsonLogicTest::testCommon with data set #654":4,"JsonLogicTest::testCommon with data set #657":4,"JsonLogicTest::testCommon with data set #658":4,"JsonLogicTest::testCommon with data set #659":4,"JsonLogicTest::testCommon with data set #661":3,"JsonLogicTest::testCommon with data set #662":4,"JsonLogicTest::testCommon with data set #663":3,"JsonLogicTest::testCommon with data set #666":3,"JsonLogicTest::testCommon with data set #667":3,"JsonLogicTest::testCommon with data set #670":4,"JsonLogicTest::testCommon with data set #671":3,"JsonLogicTest::testCommon with data set #674":3,"JsonLogicTest::testCommon with data set #675":3,"JsonLogicTest::testCommon with data set #678":4,"JsonLogicTest::testCommon with data set #679":3},"times":{"JsonLogicTest::testInvalidOperator":0.001,"JsonLogicTest::testCommon with data set #0":0,"JsonLogicTest::testCommon with data set #1":0,"JsonLogicTest::testCommon with data set #2":0,"JsonLogicTest::testCommon with data set #3":0,"JsonLogicTest::testCommon with data set #4":0,"JsonLogicTest::testCommon with data set #5":0,"JsonLogicTest::testCommon with data set #6":0,"JsonLogicTest::testCommon with data set #7":0,"JsonLogicTest::testCommon with data set #8":0,"JsonLogicTest::testCommon with data set #9":0,"JsonLogicTest::testCommon with data set #10":0,"JsonLogicTest::testCommon with data set #11":0,"JsonLogicTest::testCommon with data set #12":0,"JsonLogicTest::testCommon with data set #13":0,"JsonLogicTest::testCommon with data set #14":0,"JsonLogicTest::testCommon with data set #15":0,"JsonLogicTest::testCommon with data set #16":0,"JsonLogicTest::testCommon with data set #17":0,"JsonLogicTest::testCommon with data set #18":0,"JsonLogicTest::testCommon with data set #19":0,"JsonLogicTest::testCommon with data set #20":0,"JsonLogicTest::testCommon with data set #21":0,"JsonLogicTest::testCommon with data set #22":0,"JsonLogicTest::testCommon with data set #23":0,"JsonLogicTest::testCommon with data set #24":0,"JsonLogicTest::testCommon with data set #25":0,"JsonLogicTest::testCommon with data set #26":0,"JsonLogicTest::testCommon with data set #27":0,"JsonLogicTest::testCommon with data set #28":0,"JsonLogicTest::testCommon with data set #29":0,"JsonLogicTest::testCommon with data set #30":0,"JsonLogicTest::testCommon with data set #31":0,"JsonLogicTest::testCommon with data set #32":0,"JsonLogicTest::testCommon with data set #33":0,"JsonLogicTest::testCommon with data set #34":0,"JsonLogicTest::testCommon with data set #35":0,"JsonLogicTest::testCommon with data set #36":0,"JsonLogicTest::testCommon with data set #37":0,"JsonLogicTest::testCommon with data set #38":0,"JsonLogicTest::testCommon with data set #39":0,"JsonLogicTest::testCommon with data set #40":0,"JsonLogicTest::testCommon with data set #41":0,"JsonLogicTest::testCommon with data set #42":0,"JsonLogicTest::testCommon with data set #43":0,"JsonLogicTest::testCommon with data set #44":0,"JsonLogicTest::testCommon with data set #45":0,"JsonLogicTest::testCommon with data set #46":0,"JsonLogicTest::testCommon with data set #47":0,"JsonLogicTest::testCommon with data set #48":0,"JsonLogicTest::testCommon with data set #49":0,"JsonLogicTest::testCommon with data set #50":0,"JsonLogicTest::testCommon with data set #51":0,"JsonLogicTest::testCommon with data set #52":0,"JsonLogicTest::testCommon with data set #53":0,"JsonLogicTest::testCommon with data set #54":0,"JsonLogicTest::testCommon with data set #55":0,"JsonLogicTest::testCommon with data set #56":0,"JsonLogicTest::testCommon with data set #57":0,"JsonLogicTest::testCommon with data set #58":0,"JsonLogicTest::testCommon with data set #59":0,"JsonLogicTest::testCommon with data set #60":0,"JsonLogicTest::testCommon with data set #61":0,"JsonLogicTest::testCommon with data set #62":0,"JsonLogicTest::testCommon with data set #63":0,"JsonLogicTest::testCommon with data set #64":0,"JsonLogicTest::testCommon with data set #65":0,"JsonLogicTest::testCommon with data set #66":0,"JsonLogicTest::testCommon with data set #67":0,"JsonLogicTest::testCommon with data set #68":0,"JsonLogicTest::testCommon with data set #69":0,"JsonLogicTest::testCommon with data set #70":0,"JsonLogicTest::testCommon with data set #71":0,"JsonLogicTest::testCommon with data set #72":0,"JsonLogicTest::testCommon with data set #73":0,"JsonLogicTest::testCommon with data set #74":0,"JsonLogicTest::testCommon with data set #75":0,"JsonLogicTest::testCommon with data set #76":0,"JsonLogicTest::testCommon with data set #77":0,"JsonLogicTest::testCommon with data set #78":0,"JsonLogicTest::testCommon with data set #79":0,"JsonLogicTest::testCommon with data set #80":0,"JsonLogicTest::testCommon with data set #81":0,"JsonLogicTest::testCommon with data set #82":0,"JsonLogicTest::testCommon with data set #83":0,"JsonLogicTest::testCommon with data set #84":0,"JsonLogicTest::testCommon with data set #85":0,"JsonLogicTest::testCommon with data set #86":0,"JsonLogicTest::testCommon with data set #87":0,"JsonLogicTest::testCommon with data set #88":0,"JsonLogicTest::testCommon with data set #89":0,"JsonLogicTest::testCommon with data set #90":0,"JsonLogicTest::testCommon with data set #91":0,"JsonLogicTest::testCommon with data set #92":0,"JsonLogicTest::testCommon with data set #93":0,"JsonLogicTest::testCommon with data set #94":0,"JsonLogicTest::testCommon with data set #95":0,"JsonLogicTest::testCommon with data set #96":0,"JsonLogicTest::testCommon with data set #97":0,"JsonLogicTest::testCommon with data set #98":0,"JsonLogicTest::testCommon with data set #99":0,"JsonLogicTest::testCommon with data set #100":0,"JsonLogicTest::testCommon with data set #101":0,"JsonLogicTest::testCommon with data set #102":0,"JsonLogicTest::testCommon with data set #103":0,"JsonLogicTest::testCommon with data set #104":0,"JsonLogicTest::testCommon with data set #105":0,"JsonLogicTest::testCommon with data set #106":0,"JsonLogicTest::testCommon with data set #107":0,"JsonLogicTest::testCommon with data set #108":0,"JsonLogicTest::testCommon with data set #109":0,"JsonLogicTest::testCommon with data set #110":0,"JsonLogicTest::testCommon with data set #111":0,"JsonLogicTest::testCommon with data set #112":0,"JsonLogicTest::testCommon with data set #113":0,"JsonLogicTest::testCommon with data set #114":0,"JsonLogicTest::testCommon with data set #115":0,"JsonLogicTest::testCommon with data set #116":0,"JsonLogicTest::testCommon with data set #117":0,"JsonLogicTest::testCommon with data set #118":0,"JsonLogicTest::testCommon with data set #119":0,"JsonLogicTest::testCommon with data set #120":0,"JsonLogicTest::testCommon with data set #121":0,"JsonLogicTest::testCommon with data set #122":0,"JsonLogicTest::testCommon with data set #123":0,"JsonLogicTest::testCommon with data set #124":0,"JsonLogicTest::testCommon with data set #125":0,"JsonLogicTest::testCommon with data set #126":0,"JsonLogicTest::testCommon with data set #127":0,"JsonLogicTest::testCommon with data set #128":0,"JsonLogicTest::testCommon with data set #129":0,"JsonLogicTest::testCommon with data set #130":0,"JsonLogicTest::testCommon with data set #131":0,"JsonLogicTest::testCommon with data set #132":0,"JsonLogicTest::testCommon with data set #133":0,"JsonLogicTest::testCommon with data set #134":0,"JsonLogicTest::testCommon with data set #135":0,"JsonLogicTest::testCommon with data set #136":0,"JsonLogicTest::testCommon with data set #137":0,"JsonLogicTest::testCommon with data set #138":0,"JsonLogicTest::testCommon with data set #139":0,"JsonLogicTest::testCommon with data set #140":0,"JsonLogicTest::testCommon with data set #141":0,"JsonLogicTest::testCommon with data set #142":0,"JsonLogicTest::testCommon with data set #143":0,"JsonLogicTest::testCommon with data set #144":0,"JsonLogicTest::testCommon with data set #145":0,"JsonLogicTest::testCommon with data set #146":0,"JsonLogicTest::testCommon with data set #147":0,"JsonLogicTest::testCommon with data set #148":0,"JsonLogicTest::testCommon with data set #149":0,"JsonLogicTest::testCommon with data set #150":0,"JsonLogicTest::testCommon with data set #151":0,"JsonLogicTest::testCommon with data set #152":0,"JsonLogicTest::testCommon with data set #153":0,"JsonLogicTest::testCommon with data set #154":0,"JsonLogicTest::testCommon with data set #155":0,"JsonLogicTest::testCommon with data set #156":0,"JsonLogicTest::testCommon with data set #157":0,"JsonLogicTest::testCommon with data set #158":0,"JsonLogicTest::testCommon with data set #159":0,"JsonLogicTest::testCommon with data set #160":0,"JsonLogicTest::testCommon with data set #161":0,"JsonLogicTest::testCommon with data set #162":0,"JsonLogicTest::testCommon with data set #163":0,"JsonLogicTest::testCommon with data set #164":0,"JsonLogicTest::testCommon with data set #165":0,"JsonLogicTest::testCommon with data set #166":0,"JsonLogicTest::testCommon with data set #167":0,"JsonLogicTest::testCommon with data set #168":0,"JsonLogicTest::testCommon with data set #169":0,"JsonLogicTest::testCommon with data set #170":0,"JsonLogicTest::testCommon with data set #171":0,"JsonLogicTest::testCommon with data set #172":0,"JsonLogicTest::testCommon with data set #173":0,"JsonLogicTest::testCommon with data set #174":0,"JsonLogicTest::testCommon with data set #175":0,"JsonLogicTest::testCommon with data set #176":0,"JsonLogicTest::testCommon with data set #177":0,"JsonLogicTest::testCommon with data set #178":0,"JsonLogicTest::testCommon with data set #179":0,"JsonLogicTest::testCommon with data set #180":0,"JsonLogicTest::testCommon with data set #181":0,"JsonLogicTest::testCommon with data set #182":0,"JsonLogicTest::testCommon with data set #183":0,"JsonLogicTest::testCommon with data set #184":0,"JsonLogicTest::testCommon with data set #185":0,"JsonLogicTest::testCommon with data set #186":0,"JsonLogicTest::testCommon with data set #187":0,"JsonLogicTest::testCommon with data set #188":0,"JsonLogicTest::testCommon with data set #189":0,"JsonLogicTest::testCommon with data set #190":0,"JsonLogicTest::testCommon with data set #191":0,"JsonLogicTest::testCommon with data set #192":0,"JsonLogicTest::testCommon with data set #193":0,"JsonLogicTest::testCommon with data set #194":0,"JsonLogicTest::testCommon with data set #195":0,"JsonLogicTest::testCommon with data set #196":0,"JsonLogicTest::testCommon with data set #197":0,"JsonLogicTest::testCommon with data set #198":0,"JsonLogicTest::testCommon with data set #199":0,"JsonLogicTest::testCommon with data set #200":0,"JsonLogicTest::testCommon with data set #201":0,"JsonLogicTest::testCommon with data set #202":0,"JsonLogicTest::testCommon with data set #203":0,"JsonLogicTest::testCommon with data set #204":0,"JsonLogicTest::testCommon with data set #205":0,"JsonLogicTest::testCommon with data set #206":0,"JsonLogicTest::testCommon with data set #207":0,"JsonLogicTest::testCommon with data set #208":0,"JsonLogicTest::testCommon with data set #209":0,"JsonLogicTest::testCommon with data set #210":0,"JsonLogicTest::testCommon with data set #211":0,"JsonLogicTest::testCommon with data set #212":0,"JsonLogicTest::testCommon with data set #213":0,"JsonLogicTest::testCommon with data set #214":0,"JsonLogicTest::testCommon with data set #215":0,"JsonLogicTest::testCommon with data set #216":0,"JsonLogicTest::testCommon with data set #217":0,"JsonLogicTest::testCommon with data set #218":0,"JsonLogicTest::testCommon with data set #219":0,"JsonLogicTest::testCommon with data set #220":0,"JsonLogicTest::testCommon with data set #221":0,"JsonLogicTest::testCommon with data set #222":0,"JsonLogicTest::testCommon with data set #223":0,"JsonLogicTest::testCommon with data set #224":0,"JsonLogicTest::testCommon with data set #225":0,"JsonLogicTest::testCommon with data set #226":0,"JsonLogicTest::testCommon with data set #227":0,"JsonLogicTest::testCommon with data set #228":0,"JsonLogicTest::testCommon with data set #229":0,"JsonLogicTest::testCommon with data set #230":0,"JsonLogicTest::testCommon with data set #231":0,"JsonLogicTest::testCommon with data set #232":0,"JsonLogicTest::testCommon with data set #233":0,"JsonLogicTest::testCommon with data set #234":0,"JsonLogicTest::testCommon with data set #235":0,"JsonLogicTest::testCommon with data set #236":0,"JsonLogicTest::testCommon with data set #237":0,"JsonLogicTest::testCommon with data set #238":0,"JsonLogicTest::testCommon with data set #239":0,"JsonLogicTest::testCommon with data set #240":0,"JsonLogicTest::testCommon with data set #241":0,"JsonLogicTest::testCommon with data set #242":0,"JsonLogicTest::testCommon with data set #243":0,"JsonLogicTest::testCommon with data set #244":0,"JsonLogicTest::testCommon with data set #245":0,"JsonLogicTest::testCommon with data set #246":0,"JsonLogicTest::testCommon with data set #247":0,"JsonLogicTest::testCommon with data set #248":0,"JsonLogicTest::testCommon with data set #249":0,"JsonLogicTest::testCommon with data set #250":0,"JsonLogicTest::testCommon with data set #251":0,"JsonLogicTest::testCommon with data set #252":0,"JsonLogicTest::testCommon with data set #253":0,"JsonLogicTest::testCommon with data set #254":0,"JsonLogicTest::testCommon with data set #255":0,"JsonLogicTest::testCommon with data set #256":0,"JsonLogicTest::testCommon with data set #257":0,"JsonLogicTest::testCommon with data set #258":0,"JsonLogicTest::testCommon with data set #259":0,"JsonLogicTest::testCommon with data set #260":0,"JsonLogicTest::testCommon with data set #261":0,"JsonLogicTest::testCommon with data set #262":0,"JsonLogicTest::testCommon with data set #263":0,"JsonLogicTest::testCommon with data set #264":0,"JsonLogicTest::testCommon with data set #265":0,"JsonLogicTest::testCommon with data set #266":0,"JsonLogicTest::testCommon with data set #267":0,"JsonLogicTest::testCommon with data set #268":0,"JsonLogicTest::testCommon with data set #269":0,"JsonLogicTest::testCommon with data set #270":0,"JsonLogicTest::testCommon with data set #271":0,"JsonLogicTest::testCommon with data set #272":0,"JsonLogicTest::testCommon with data set #273":0,"JsonLogicTest::testCommon with data set #274":0,"JsonLogicTest::testCommon with data set #275":0,"JsonLogicTest::testCommon with data set #276":0,"JsonLogicTest::testCommon with data set #277":0,"JsonLogicTest::testCommon with data set #278":0,"JsonLogicTest::testCommon with data set #279":0,"JsonLogicTest::testCommon with data set #280":0,"JsonLogicTest::testCommon with data set #281":0,"JsonLogicTest::testCommon with data set #282":0,"JsonLogicTest::testCommon with data set #283":0,"JsonLogicTest::testCommon with data set #284":0,"JsonLogicTest::testCommon with data set #285":0,"JsonLogicTest::testCommon with data set #286":0,"JsonLogicTest::testCommon with data set #287":0,"JsonLogicTest::testCommon with data set #288":0,"JsonLogicTest::testCommon with data set #289":0,"JsonLogicTest::testCommon with data set #290":0,"JsonLogicTest::testCommon with data set #291":0,"JsonLogicTest::testCommon with data set #292":0,"JsonLogicTest::testCommon with data set #293":0,"JsonLogicTest::testCommon with data set #294":0,"JsonLogicTest::testCommon with data set #295":0,"JsonLogicTest::testCommon with data set #296":0,"JsonLogicTest::testCommon with data set #297":0,"JsonLogicTest::testCommon with data set #298":0,"JsonLogicTest::testCommon with data set #299":0,"JsonLogicTest::testCommon with data set #300":0,"JsonLogicTest::testCommon with data set #301":0,"JsonLogicTest::testCommon with data set #302":0,"JsonLogicTest::testCommon with data set #303":0,"JsonLogicTest::testCommon with data set #304":0,"JsonLogicTest::testCommon with data set #305":0,"JsonLogicTest::testCommon with data set #306":0,"JsonLogicTest::testCommon with data set #307":0,"JsonLogicTest::testCommon with data set #308":0,"JsonLogicTest::testCommon with data set #309":0,"JsonLogicTest::testCommon with data set #310":0,"JsonLogicTest::testCommon with data set #311":0,"JsonLogicTest::testCommon with data set #312":0,"JsonLogicTest::testCommon with data set #313":0,"JsonLogicTest::testCommon with data set #314":0,"JsonLogicTest::testCommon with data set #315":0,"JsonLogicTest::testCommon with data set #316":0,"JsonLogicTest::testCommon with data set #317":0,"JsonLogicTest::testCommon with data set #318":0,"JsonLogicTest::testCommon with data set #319":0,"JsonLogicTest::testCommon with data set #320":0,"JsonLogicTest::testCommon with data set #321":0,"JsonLogicTest::testCommon with data set #322":0,"JsonLogicTest::testCommon with data set #323":0,"JsonLogicTest::testCommon with data set #324":0,"JsonLogicTest::testCommon with data set #325":0,"JsonLogicTest::testCommon with data set #326":0,"JsonLogicTest::testCommon with data set #327":0,"JsonLogicTest::testCommon with data set #328":0,"JsonLogicTest::testCommon with data set #329":0,"JsonLogicTest::testCommon with data set #330":0,"JsonLogicTest::testCommon with data set #331":0,"JsonLogicTest::testCommon with data set #332":0,"JsonLogicTest::testCommon with data set #333":0,"JsonLogicTest::testCommon with data set #334":0,"JsonLogicTest::testCommon with data set #335":0,"JsonLogicTest::testCommon with data set #336":0,"JsonLogicTest::testCommon with data set #337":0,"JsonLogicTest::testCommon with data set #338":0,"JsonLogicTest::testCommon with data set #339":0,"JsonLogicTest::testCommon with data set #340":0,"JsonLogicTest::testCommon with data set #341":0,"JsonLogicTest::testCommon with data set #342":0,"JsonLogicTest::testCommon with data set #343":0,"JsonLogicTest::testCommon with data set #344":0,"JsonLogicTest::testCommon with data set #345":0,"JsonLogicTest::testCommon with data set #346":0,"JsonLogicTest::testCommon with data set #347":0,"JsonLogicTest::testCommon with data set #348":0,"JsonLogicTest::testCommon with data set #349":0,"JsonLogicTest::testCommon with data set #350":0,"JsonLogicTest::testCommon with data set #351":0,"JsonLogicTest::testCommon with data set #352":0,"JsonLogicTest::testCommon with data set #353":0,"JsonLogicTest::testCommon with data set #354":0,"JsonLogicTest::testCommon with data set #355":0,"JsonLogicTest::testCommon with data set #356":0,"JsonLogicTest::testCommon with data set #357":0,"JsonLogicTest::testCommon with data set #358":0,"JsonLogicTest::testCommon with data set #359":0,"JsonLogicTest::testCommon with data set #360":0,"JsonLogicTest::testCommon with data set #361":0,"JsonLogicTest::testCommon with data set #362":0,"JsonLogicTest::testCommon with data set #363":0,"JsonLogicTest::testCommon with data set #364":0,"JsonLogicTest::testCommon with data set #365":0,"JsonLogicTest::testCommon with data set #366":0,"JsonLogicTest::testCommon with data set #367":0,"JsonLogicTest::testCommon with data set #368":0,"JsonLogicTest::testCommon with data set #369":0,"JsonLogicTest::testCommon with data set #370":0,"JsonLogicTest::testCommon with data set #371":0,"JsonLogicTest::testCommon with data set #372":0,"JsonLogicTest::testCommon with data set #373":0,"JsonLogicTest::testCommon with data set #374":0,"JsonLogicTest::testCommon with data set #375":0,"JsonLogicTest::testCommon with data set #376":0,"JsonLogicTest::testCommon with data set #377":0,"JsonLogicTest::testCommon with data set #378":0,"JsonLogicTest::testCommon with data set #379":0,"JsonLogicTest::testCommon with data set #380":0,"JsonLogicTest::testCommon with data set #381":0,"JsonLogicTest::testCommon with data set #382":0,"JsonLogicTest::testCommon with data set #383":0,"JsonLogicTest::testCommon with data set #384":0,"JsonLogicTest::testCommon with data set #385":0,"JsonLogicTest::testCommon with data set #386":0,"JsonLogicTest::testCommon with data set #387":0,"JsonLogicTest::testCommon with data set #388":0,"JsonLogicTest::testCommon with data set #389":0,"JsonLogicTest::testCommon with data set #390":0,"JsonLogicTest::testCommon with data set #391":0,"JsonLogicTest::testCommon with data set #392":0,"JsonLogicTest::testCommon with data set #393":0,"JsonLogicTest::testCommon with data set #394":0,"JsonLogicTest::testCommon with data set #395":0,"JsonLogicTest::testCommon with data set #396":0,"JsonLogicTest::testCommon with data set #397":0,"JsonLogicTest::testCommon with data set #398":0,"JsonLogicTest::testCommon with data set #399":0,"JsonLogicTest::testCommon with data set #400":0,"JsonLogicTest::testCommon with data set #401":0,"JsonLogicTest::testCommon with data set #402":0,"JsonLogicTest::testCommon with data set #403":0,"JsonLogicTest::testCommon with data set #404":0,"JsonLogicTest::testCommon with data set #405":0,"JsonLogicTest::testCommon with data set #406":0,"JsonLogicTest::testCommon with data set #407":0,"JsonLogicTest::testCommon with data set #408":0,"JsonLogicTest::testCommon with data set #409":0,"JsonLogicTest::testCommon with data set #410":0,"JsonLogicTest::testCommon with data set #411":0,"JsonLogicTest::testCommon with data set #412":0,"JsonLogicTest::testCommon with data set #413":0,"JsonLogicTest::testCommon with data set #414":0,"JsonLogicTest::testCommon with data set #415":0,"JsonLogicTest::testCommon with data set #416":0,"JsonLogicTest::testCommon with data set #417":0,"JsonLogicTest::testCommon with data set #418":0,"JsonLogicTest::testCommon with data set #419":0,"JsonLogicTest::testCommon with data set #420":0,"JsonLogicTest::testCommon with data set #421":0,"JsonLogicTest::testCommon with data set #422":0,"JsonLogicTest::testCommon with data set #423":0,"JsonLogicTest::testCommon with data set #424":0,"JsonLogicTest::testCommon with data set #425":0,"JsonLogicTest::testCommon with data set #426":0,"JsonLogicTest::testCommon with data set #427":0,"JsonLogicTest::testCommon with data set #428":0,"JsonLogicTest::testCommon with data set #429":0,"JsonLogicTest::testCommon with data set #430":0,"JsonLogicTest::testCommon with data set #431":0,"JsonLogicTest::testCommon with data set #432":0,"JsonLogicTest::testCommon with data set #433":0,"JsonLogicTest::testCommon with data set #434":0,"JsonLogicTest::testCommon with data set #435":0,"JsonLogicTest::testCommon with data set #436":0,"JsonLogicTest::testCommon with data set #437":0,"JsonLogicTest::testCommon with data set #438":0,"JsonLogicTest::testCommon with data set #439":0,"JsonLogicTest::testCommon with data set #440":0,"JsonLogicTest::testCommon with data set #441":0,"JsonLogicTest::testCommon with data set #442":0,"JsonLogicTest::testCommon with data set #443":0,"JsonLogicTest::testCommon with data set #444":0,"JsonLogicTest::testCommon with data set #445":0,"JsonLogicTest::testCommon with data set #446":0,"JsonLogicTest::testCommon with data set #447":0,"JsonLogicTest::testCommon with data set #448":0,"JsonLogicTest::testCommon with data set #449":0,"JsonLogicTest::testCommon with data set #450":0,"JsonLogicTest::testCommon with data set #451":0,"JsonLogicTest::testCommon with data set #452":0,"JsonLogicTest::testCommon with data set #453":0,"JsonLogicTest::testCommon with data set #454":0,"JsonLogicTest::testCommon with data set #455":0,"JsonLogicTest::testCommon with data set #456":0,"JsonLogicTest::testCommon with data set #457":0,"JsonLogicTest::testCommon with data set #458":0,"JsonLogicTest::testCommon with data set #459":0,"JsonLogicTest::testCommon with data set #460":0,"JsonLogicTest::testCommon with data set #461":0,"JsonLogicTest::testCommon with data set #462":0,"JsonLogicTest::testCommon with data set #463":0,"JsonLogicTest::testCommon with data set #464":0,"JsonLogicTest::testCommon with data set #465":0,"JsonLogicTest::testCommon with data set #466":0,"JsonLogicTest::testCommon with data set #467":0,"JsonLogicTest::testCommon with data set #468":0,"JsonLogicTest::testCommon with data set #469":0,"JsonLogicTest::testCommon with data set #470":0,"JsonLogicTest::testCommon with data set #471":0,"JsonLogicTest::testCommon with data set #472":0,"JsonLogicTest::testCommon with data set #473":0,"JsonLogicTest::testCommon with data set #474":0,"JsonLogicTest::testCommon with data set #475":0,"JsonLogicTest::testCommon with data set #476":0,"JsonLogicTest::testCommon with data set #477":0,"JsonLogicTest::testCommon with data set #478":0,"JsonLogicTest::testCommon with data set #479":0,"JsonLogicTest::testCommon with data set #480":0,"JsonLogicTest::testCommon with data set #481":0,"JsonLogicTest::testCommon with data set #482":0,"JsonLogicTest::testCommon with data set #483":0,"JsonLogicTest::testCommon with data set #484":0,"JsonLogicTest::testCommon with data set #485":0,"JsonLogicTest::testCommon with data set #486":0,"JsonLogicTest::testCommon with data set #487":0,"JsonLogicTest::testCommon with data set #488":0,"JsonLogicTest::testCommon with data set #489":0,"JsonLogicTest::testCommon with data set #490":0,"JsonLogicTest::testCommon with data set #491":0,"JsonLogicTest::testCommon with data set #492":0,"JsonLogicTest::testCommon with data set #493":0,"JsonLogicTest::testCommon with data set #494":0,"JsonLogicTest::testCommon with data set #495":0,"JsonLogicTest::testCommon with data set #496":0,"JsonLogicTest::testCommon with data set #497":0,"JsonLogicTest::testCommon with data set #498":0,"JsonLogicTest::testCommon with data set #499":0,"JsonLogicTest::testCommon with data set #500":0,"JsonLogicTest::testCommon with data set #501":0,"JsonLogicTest::testCommon with data set #502":0,"JsonLogicTest::testCommon with data set #503":0,"JsonLogicTest::testCommon with data set #504":0,"JsonLogicTest::testCommon with data set #505":0,"JsonLogicTest::testCommon with data set #506":0,"JsonLogicTest::testCommon with data set #507":0,"JsonLogicTest::testCommon with data set #508":0,"JsonLogicTest::testCommon with data set #509":0,"JsonLogicTest::testCommon with data set #510":0,"JsonLogicTest::testCommon with data set #511":0,"JsonLogicTest::testCommon with data set #512":0,"JsonLogicTest::testCommon with data set #513":0,"JsonLogicTest::testCommon with data set #514":0,"JsonLogicTest::testCommon with data set #515":0,"JsonLogicTest::testCommon with data set #516":0,"JsonLogicTest::testCommon with data set #517":0,"JsonLogicTest::testCommon with data set #518":0,"JsonLogicTest::testCommon with data set #519":0,"JsonLogicTest::testCommon with data set #520":0,"JsonLogicTest::testCommon with data set #521":0,"JsonLogicTest::testCommon with data set #522":0,"JsonLogicTest::testCommon with data set #523":0,"JsonLogicTest::testCommon with data set #524":0,"JsonLogicTest::testCommon with data set #525":0,"JsonLogicTest::testCommon with data set #526":0,"JsonLogicTest::testCommon with data set #527":0,"JsonLogicTest::testCommon with data set #528":0,"JsonLogicTest::testCommon with data set #529":0,"JsonLogicTest::testCommon with data set #530":0,"JsonLogicTest::testCommon with data set #531":0,"JsonLogicTest::testCommon with data set #532":0,"JsonLogicTest::testCommon with data set #533":0,"JsonLogicTest::testCommon with data set #534":0,"JsonLogicTest::testCommon with data set #535":0,"JsonLogicTest::testCommon with data set #536":0,"JsonLogicTest::testCommon with data set #537":0,"JsonLogicTest::testCommon with data set #538":0,"JsonLogicTest::testCommon with data set #539":0,"JsonLogicTest::testCommon with data set #540":0,"JsonLogicTest::testCommon with data set #541":0,"JsonLogicTest::testCommon with data set #542":0,"JsonLogicTest::testCommon with data set #543":0,"JsonLogicTest::testCommon with data set #544":0,"JsonLogicTest::testCommon with data set #545":0,"JsonLogicTest::testCommon with data set #546":0,"JsonLogicTest::testCommon with data set #547":0,"JsonLogicTest::testCommon with data set #548":0,"JsonLogicTest::testCommon with data set #549":0,"JsonLogicTest::testPattern with data set #0":0,"JsonLogicTest::testPattern with data set #1":0,"JsonLogicTest::testPattern with data set #2":0,"JsonLogicTest::testPattern with data set #3":0,"JsonLogicTest::testPattern with data set #4":0,"JsonLogicTest::testPattern with data set #5":0,"JsonLogicTest::testPattern with data set #6":0,"JsonLogicTest::testPattern with data set #7":0,"JsonLogicTest::testPattern with data set #8":0,"JsonLogicTest::testPattern with data set #9":0,"JsonLogicTest::testPattern with data set #10":0,"JsonLogicTest::testPattern with data set #11":0,"JsonLogicTest::testPattern with data set #12":0,"JsonLogicTest::testPattern with data set #13":0,"JsonLogicTest::testPattern with data set #14":0,"JsonLogicTest::testPattern with data set #15":0,"JsonLogicTest::testPattern with data set #16":0,"JsonLogicTest::testPattern with data set #17":0,"JsonLogicTest::testPattern with data set #18":0,"JsonLogicTest::testPattern with data set #19":0,"JsonLogicTest::testPattern with data set #20":0,"JsonLogicTest::testPattern with data set #21":0,"JsonLogicTest::testPattern with data set #22":0,"JsonLogicTest::testPattern with data set #23":0,"JsonLogicTest::testPattern with data set #24":0,"JsonLogicTest::testPattern with data set #25":0,"JsonLogicTest::testPattern with data set #26":0,"JsonLogicTest::testPattern with data set #27":0,"JsonLogicTest::testPattern with data set #28":0,"JsonLogicTest::testPattern with data set #29":0,"JsonLogicTest::testPattern with data set #30":0,"JsonLogicTest::testPattern with data set #31":0,"JsonLogicTest::testPattern with data set #32":0,"JsonLogicTest::testPattern with data set #33":0,"JsonLogicTest::testPattern with data set #34":0,"JsonLogicTest::testPattern with data set #35":0,"JsonLogicTest::testPattern with data set #36":0,"JsonLogicTest::testPattern with data set #37":0,"JsonLogicTest::testPattern with data set #38":0,"JsonLogicTest::testProblematicPattern":0,"JsonLogicTest::testAddOperation":0,"MagicPropertiesTest::testValidMagicWorks":0,"MagicPropertiesTest::testMixtureOfRealPropertiesAndMagicWorks":0,"MagicPropertiesTest::testInvalidMagicReturnsDefault":0,"MagicPropertiesTest::testMethodsShouldReturnDefault":0,"ObjectWithArrayAccessorsTest::testValidArrayAccessWorks":0,"ObjectWithArrayAccessorsTest::testInvalidArrayAccessReturnsDefault":0,"ObjectWithArrayAccessorsTest::testCanMixPropertiesAndArrayAccess":0,"LazyEvaluationTest::testLazyIf":0,"LazyEvaluationTest::testAndExitsFirstFalse":0,"LazyEvaluationTest::testAndEvaluatesEveryTruthyArgument":0,"LazyEvaluationTest::testAndHaltsOnFirstFalsyArgument":0,"LazyEvaluationTest::testOrHaltsOnFirstTruthyArgument":0,"LazyEvaluationTest::testOrEvaluatesEveryFalsyArgument":0,"JsonLogicTest::testCommon with data set #550":0,"JsonLogicTest::testCommon with data set #551":0,"JsonLogicTest::testCommon with data set #552":0,"JsonLogicTest::testCommon with data set #553":0,"Error":0,"JsonLogicTest::testCommon with data set #554":0,"JsonLogicTest::testCommon with data set #555":0,"JsonLogicTest::testCommon with data set #556":0,"JsonLogicTest::testCommon with data set #557":0,"JsonLogicTest::testCommon with data set #558":0,"JsonLogicTest::testCommon with data set #559":0,"JsonLogicTest::testCommon with data set #560":0,"JsonLogicTest::testCommon with data set #561":0,"JsonLogicTest::testCommon with data set #562":0,"JsonLogicTest::testCommon with data set #563":0,"JsonLogicTest::testCommon with data set #564":0,"JsonLogicTest::testCommon with data set #565":0,"JsonLogicTest::testCommon with data set #566":0,"JsonLogicTest::testCommon with data set #567":0,"JsonLogicTest::testCommon with data set #568":0,"JsonLogicTest::testCommon with data set #569":0,"JsonLogicTest::testCommon with data set #570":0,"JsonLogicTest::testCommon with data set #571":0,"JsonLogicTest::testCommon with data set #572":0,"JsonLogicTest::testCommon with data set #573":0,"JsonLogicTest::testCommon with data set #574":0,"JsonLogicTest::testCommon with data set #575":0,"JsonLogicTest::testCommon with data set #576":0,"JsonLogicTest::testCommon with data set #577":0,"JsonLogicTest::testCommon with data set #578":0,"JsonLogicTest::testCommon with data set #579":0,"JsonLogicTest::testCommon with data set #580":0,"JsonLogicTest::testCommon with data set #581":0,"JsonLogicTest::testCommon with data set #582":0,"JsonLogicTest::testCommon with data set #583":0,"JsonLogicTest::testCommon with data set #584":0,"JsonLogicTest::testCommon with data set #585":0,"JsonLogicTest::testCommon with data set #586":0,"JsonLogicTest::testCommon with data set #587":0,"JsonLogicTest::testCommon with data set #588":0,"JsonLogicTest::testCommon with data set #589":0,"JsonLogicTest::testCommon with data set #590":0,"JsonLogicTest::testCommon with data set #591":0,"JsonLogicTest::testCommon with data set #592":0,"JsonLogicTest::testCommon with data set #593":0,"JsonLogicTest::testCommon with data set #594":0,"JsonLogicTest::testCommon with data set #595":0,"JsonLogicTest::testCommon with data set #596":0,"JsonLogicTest::testCommon with data set #597":0,"JsonLogicTest::testCommon with data set #598":0,"JsonLogicTest::testCommon with data set #599":0,"JsonLogicTest::testCommon with data set #600":0,"JsonLogicTest::testCommon with data set #601":0,"JsonLogicTest::testCommon with data set #602":0,"JsonLogicTest::testCommon with data set #603":0,"JsonLogicTest::testCommon with data set #604":0,"JsonLogicTest::testCommon with data set #605":0,"JsonLogicTest::testCommon with data set #606":0,"JsonLogicTest::testCommon with data set #607":0,"JsonLogicTest::testCommon with data set #608":0,"JsonLogicTest::testCommon with data set #609":0,"JsonLogicTest::testCommon with data set #610":0,"JsonLogicTest::testCommon with data set #611":0,"JsonLogicTest::testCommon with data set #612":0,"JsonLogicTest::testCommon with data set #613":0,"JsonLogicTest::testCommon with data set #614":0,"JsonLogicTest::testCommon with data set #615":0,"JsonLogicTest::testCommon with data set #616":0,"JsonLogicTest::testCommon with data set #617":0,"JsonLogicTest::testCommon with data set #618":0,"JsonLogicTest::testCommon with data set #619":0,"JsonLogicTest::testCommon with data set #620":0,"JsonLogicTest::testCommon with data set #621":0,"JsonLogicTest::testCommon with data set #622":0,"JsonLogicTest::testCommon with data set #623":0,"JsonLogicTest::testCommon with data set #624":0,"JsonLogicTest::testCommon with data set #625":0,"JsonLogicTest::testCommon with data set #626":0,"JsonLogicTest::testCommon with data set #627":0,"JsonLogicTest::testCommon with data set #628":0,"JsonLogicTest::testCommon with data set #629":0,"JsonLogicTest::testCommon with data set #630":0,"JsonLogicTest::testCommon with data set #631":0,"JsonLogicTest::testCommon with data set #632":0,"JsonLogicTest::testCommon with data set #633":0,"JsonLogicTest::testCommon with data set #634":0,"JsonLogicTest::testCommon with data set #635":0,"JsonLogicTest::testCommon with data set #636":0,"JsonLogicTest::testCommon with data set #637":0,"JsonLogicTest::testCommon with data set #638":0,"JsonLogicTest::testCommon with data set #639":0,"JsonLogicTest::testCommon with data set #640":0,"JsonLogicTest::testCommon with data set #641":0,"JsonLogicTest::testCommon with data set #642":0,"JsonLogicTest::testCommon with data set #643":0,"JsonLogicTest::testCommon with data set #644":0,"JsonLogicTest::testCommon with data set #645":0,"JsonLogicTest::testCommon with data set #646":0,"JsonLogicTest::testCommon with data set #647":0,"JsonLogicTest::testCommon with data set #648":0,"JsonLogicTest::testCommon with data set #649":0,"JsonLogicTest::testCommon with data set #650":0,"JsonLogicTest::testCommon with data set #651":0,"JsonLogicTest::testCommon with data set #652":0,"JsonLogicTest::testCommon with data set #653":0,"JsonLogicTest::testCommon with data set #654":0,"JsonLogicTest::testCommon with data set #655":0,"JsonLogicTest::testCommon with data set #656":0,"JsonLogicTest::testCommon with data set #657":0,"JsonLogicTest::testCommon with data set #658":0,"JsonLogicTest::testCommon with data set #659":0,"JsonLogicTest::testCommon with data set #660":0,"JsonLogicTest::testCommon with data set #661":0,"JsonLogicTest::testCommon with data set #662":0,"JsonLogicTest::testCommon with data set #663":0,"JsonLogicTest::testCommon with data set #664":0,"JsonLogicTest::testCommon with data set #665":0,"JsonLogicTest::testCommon with data set #666":0,"JsonLogicTest::testCommon with data set #667":0,"JsonLogicTest::testCommon with data set #668":0,"JsonLogicTest::testCommon with data set #669":0,"JsonLogicTest::testCommon with data set #670":0,"JsonLogicTest::testCommon with data set #671":0,"JsonLogicTest::testCommon with data set #672":0,"JsonLogicTest::testCommon with data set #673":0,"JsonLogicTest::testCommon with data set #674":0,"JsonLogicTest::testCommon with data set #675":0,"JsonLogicTest::testCommon with data set #676":0,"JsonLogicTest::testCommon with data set #677":0,"JsonLogicTest::testCommon with data set #678":0,"JsonLogicTest::testCommon with data set #679":0,"JsonLogicTest::testCommon with data set #680":0,"JsonLogicTest::testCommon with data set #681":0,"JsonLogicTest::testCommon with data set #682":0,"JsonLogicTest::testCommon with data set #683":0,"JsonLogicTest::testCommon with data set #684":0,"JsonLogicTest::testCommon with data set #685":0}} \ No newline at end of file diff --git a/composer.json b/composer.json index 0cb6523..10637af 100644 --- a/composer.json +++ b/composer.json @@ -10,10 +10,12 @@ ], "minimum-stability": "dev", "require": { - "php": ">=7.2.0" + "php": ">=7.2.0", + "ext-json": "*" }, "require-dev": { - "phpunit/phpunit": "^9.3.3" + "phpunit/phpunit": "^9.3.3", + "spatie/ray": "dev-main" }, "autoload": { "psr-0": { diff --git a/composer.lock b/composer.lock index 84d28da..79d1ae6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,9 +4,64 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "97f57edf962d0882513ce1b7ee2cdc21", + "content-hash": "f0c4743e968471cb4f8489bb69b83f21", "packages": [], "packages-dev": [ + { + "name": "brick/math", + "version": "v0.11.x-dev", + "source": { + "type": "git", + "url": "https://github.com/brick/math.git", + "reference": "8d60a347dd96c2c748f8993300a27d079a53144a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/brick/math/zipball/8d60a347dd96c2c748f8993300a27d079a53144a", + "reference": "8d60a347dd96c2c748f8993300a27d079a53144a", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^9.0", + "vimeo/psalm": "5.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Brick\\Math\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Arbitrary-precision arithmetic library", + "keywords": [ + "Arbitrary-precision", + "BigInteger", + "BigRational", + "arithmetic", + "bigdecimal", + "bignum", + "brick", + "math" + ], + "support": { + "issues": "https://github.com/brick/math/issues", + "source": "https://github.com/brick/math/tree/v0.11" + }, + "funding": [ + { + "url": "https://github.com/BenMorel", + "type": "github" + } + ], + "time": "2023-01-15T23:12:38+00:00" + }, { "name": "doctrine/instantiator", "version": "1.5.x-dev", @@ -962,6 +1017,242 @@ ], "time": "2022-02-23T17:10:58+00:00" }, + { + "name": "psr/container", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "707984727bd5b2b670e59559d3ed2500240cf875" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/707984727bd5b2b670e59559d3ed2500240cf875", + "reference": "707984727bd5b2b670e59559d3ed2500240cf875", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "default-branch": true, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container" + }, + "time": "2023-09-22T11:11:30+00:00" + }, + { + "name": "ramsey/collection", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/ramsey/collection.git", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.28.3", + "fakerphp/faker": "^1.21", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^1.0", + "mockery/mockery": "^1.5", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpcsstandards/phpcsutils": "^1.0.0-rc1", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18.4", + "ramsey/coding-standard": "^2.0.3", + "ramsey/conventional-commits": "^1.3", + "vimeo/psalm": "^5.4" + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + }, + "ramsey/conventional-commits": { + "configFile": "conventional-commits.json" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Collection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A PHP library for representing and manipulating collections.", + "keywords": [ + "array", + "collection", + "hash", + "map", + "queue", + "set" + ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/2.0.0" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" + } + ], + "time": "2022-12-31T21:50:55+00:00" + }, + { + "name": "ramsey/uuid", + "version": "4.x-dev", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "c05b6662e948e1e8bca0c4dce3518c7e7bb6e1c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/c05b6662e948e1e8bca0c4dce3518c7e7bb6e1c9", + "reference": "c05b6662e948e1e8bca0c4dce3518c7e7bb6e1c9", + "shasum": "" + }, + "require": { + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11", + "ext-json": "*", + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.10", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "doctrine/annotations": "^1.8", + "ergebnis/composer-normalize": "^2.15", + "mockery/mockery": "^1.3", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.2", + "php-mock/php-mock-mockery": "^1.3", + "php-parallel-lint/php-parallel-lint": "^1.1", + "phpbench/phpbench": "^1.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^8.5 || ^9", + "ramsey/composer-repl": "^1.4", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.9" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "default-branch": true, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.x" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", + "type": "tidelift" + } + ], + "time": "2023-09-04T21:23:40+00:00" + }, { "name": "sebastian/cli-parser", "version": "1.0.1", @@ -1927,44 +2218,32 @@ "time": "2020-09-28T06:39:44+00:00" }, { - "name": "symfony/polyfill-ctype", - "version": "v1.24.0", + "name": "spatie/backtrace", + "version": "1.5.3", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "30885182c981ab175d4d034db0f6f469898070ab" + "url": "https://github.com/spatie/backtrace.git", + "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab", - "reference": "30885182c981ab175d4d034db0f6f469898070ab", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/483f76a82964a0431aa836b6ed0edde0c248e3ab", + "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab", "shasum": "" }, "require": { - "php": ">=7.1" - }, - "provide": { - "ext-ctype": "*" + "php": "^7.3|^8.0" }, - "suggest": { - "ext-ctype": "For best performance" + "require-dev": { + "ext-json": "*", + "phpunit/phpunit": "^9.3", + "spatie/phpunit-snapshot-assertions": "^4.2", + "symfony/var-dumper": "^5.1" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" + "Spatie\\Backtrace\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1973,123 +2252,706 @@ ], "authors": [ { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Freek Van de Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" } ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", + "description": "A better backtrace", + "homepage": "https://github.com/spatie/backtrace", "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" + "Backtrace", + "spatie" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.24.0" + "source": "https://github.com/spatie/backtrace/tree/1.5.3" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/sponsors/spatie", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "url": "https://spatie.be/open-source/support-us", + "type": "other" } ], - "time": "2021-10-20T20:35:02+00:00" + "time": "2023-06-28T12:59:17+00:00" }, { - "name": "theseer/tokenizer", - "version": "1.2.1", + "name": "spatie/macroable", + "version": "2.0.0", "source": { "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + "url": "https://github.com/spatie/macroable.git", + "reference": "ec2c320f932e730607aff8052c44183cf3ecb072" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "url": "https://api.github.com/repos/spatie/macroable/zipball/ec2c320f932e730607aff8052c44183cf3ecb072", + "reference": "ec2c320f932e730607aff8052c44183cf3ecb072", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" + "php": "^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.0|^9.3" }, "type": "library", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Spatie\\Macroable\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", "role": "Developer" } ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "description": "A trait to dynamically add methods to a class", + "homepage": "https://github.com/spatie/macroable", + "keywords": [ + "macroable", + "spatie" + ], "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + "issues": "https://github.com/spatie/macroable/issues", + "source": "https://github.com/spatie/macroable/tree/2.0.0" }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2021-07-28T10:34:58+00:00" + "time": "2021-03-26T22:39:02+00:00" }, { - "name": "webmozart/assert", - "version": "dev-master", + "name": "spatie/ray", + "version": "dev-main", "source": { "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "b419d648592b0b8911cbbe10d450fe314f4fd262" + "url": "https://github.com/spatie/ray.git", + "reference": "2c2bccd0df4ea0a50c28448859a1055afb0ea165" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/b419d648592b0b8911cbbe10d450fe314f4fd262", - "reference": "b419d648592b0b8911cbbe10d450fe314f4fd262", + "url": "https://api.github.com/repos/spatie/ray/zipball/2c2bccd0df4ea0a50c28448859a1055afb0ea165", + "reference": "2c2bccd0df4ea0a50c28448859a1055afb0ea165", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" + "ext-curl": "*", + "ext-json": "*", + "php": "^7.3|^8.0", + "ramsey/uuid": "^3.0|^4.1", + "spatie/backtrace": "^1.1", + "spatie/macroable": "^1.0|^2.0", + "symfony/stopwatch": "^4.0|^5.1|^6.0", + "symfony/var-dumper": "^4.2|^5.1|^6.0" }, "require-dev": { - "phpunit/phpunit": "^8.5.13" + "illuminate/support": "6.x|^8.18|^9.0", + "nesbot/carbon": "^2.63", + "pestphp/pest": "^1.22", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.5", + "spatie/phpunit-snapshot-assertions": "^4.2", + "spatie/test-time": "^1.2" }, "default-branch": true, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\Ray\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Debug with Ray to fix problems faster", + "homepage": "https://github.com/spatie/ray", + "keywords": [ + "ray", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/ray/issues", + "source": "https://github.com/spatie/ray/tree/main" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spatie", + "type": "github" + }, + { + "url": "https://spatie.be/open-source/support-us", + "type": "other" + } + ], + "time": "2023-09-18T10:37:29+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "dev-main", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "default-branch": true, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-05-23T14:45:45+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.24.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "30885182c981ab175d4d034db0f6f469898070ab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab", + "reference": "30885182c981ab175d4d034db0f6f469898070ab", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.24.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-10-20T20:35:02+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "1.x-dev", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "42292d99c55abe617799667f454222c54c60e229" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", + "reference": "42292d99c55abe617799667f454222c54c60e229", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "default-branch": true, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-28T09:04:16+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "dev-main", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "a4025a1c812c231d88ed0780e866b0cc644f4a84" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/a4025a1c812c231d88ed0780e866b0cc644f4a84", + "reference": "a4025a1c812c231d88ed0780e866b0cc644f4a84", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^2.0" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "default-branch": true, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/main" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-29T13:12:44+00:00" + }, + { + "name": "symfony/stopwatch", + "version": "6.4.x-dev", + "source": { + "type": "git", + "url": "https://github.com/symfony/stopwatch.git", + "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2", + "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/service-contracts": "^2.5|^3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a way to profile code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/stopwatch/tree/v6.3.0-RC1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-02-16T10:14:28+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "6.4.x-dev", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "10d1fa47a72c01a88184fa026d68a00076639dd1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/10d1fa47a72c01a88184fa026d68a00076639dd1", + "reference": "10d1fa47a72c01a88184fa026d68a00076639dd1", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/console": "<5.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^6.3|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/uid": "^5.4|^6.0|^7.0", + "twig/twig": "^2.13|^3.0.4" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/6.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-09-25T12:52:38+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2021-07-28T10:34:58+00:00" + }, + { + "name": "webmozart/assert", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "b419d648592b0b8911cbbe10d450fe314f4fd262" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/b419d648592b0b8911cbbe10d450fe314f4fd262", + "reference": "b419d648592b0b8911cbbe10d450fe314f4fd262", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "default-branch": true, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, "autoload": { "psr-4": { "Webmozart\\Assert\\": "src/" @@ -2120,12 +2982,14 @@ ], "aliases": [], "minimum-stability": "dev", - "stability-flags": [], + "stability-flags": { + "spatie/ray": 20 + }, "prefer-stable": false, "prefer-lowest": false, "platform": { "php": ">=7.2.0" }, "platform-dev": [], - "plugin-api-version": "2.0.0" + "plugin-api-version": "2.2.0" } diff --git a/src/JWadhams/JsonLogic.php b/src/JWadhams/JsonLogic.php index ca92601..294bf42 100644 --- a/src/JWadhams/JsonLogic.php +++ b/src/JWadhams/JsonLogic.php @@ -5,6 +5,12 @@ class JsonLogic { private static $custom_operations = []; + + private static $variables = null; + private static $iteration_variable = null; + private static $callable_cache = []; + private static $cache_key = 0; + public static function get_operator($logic) { return array_keys($logic)[0]; @@ -40,18 +46,22 @@ public static function truthy($logic) return (bool)$logic; } - public static function apply($logic = [], $data = []) + public static function apply($logic = [], $data = [], $rewrite = true) { + if ($rewrite) static::$cache_key = time().rand(0,9999); + if ($rewrite) static::$variables = $data; //I'd rather work with array syntax if (is_object($logic)) { $logic = (array)$logic; } if (! self::is_logic($logic)) { + if ($logic === '$var' || (is_array($logic) && isset($logic[0]) && $logic[0] === '$var')) return static::apply(['var' => true], static::$variables, false); + if ($logic === '$iteration' || (is_array($logic) && isset($logic[0]) && $logic[0] === '$iteration')) return static::apply(['var' => null], static::$iteration_variable, false); if (is_array($logic)) { //Could be an array of logic statements. Only one way to find out. return array_map(function ($l) use ($data) { - return self::apply($l, $data); + return self::apply($l, $data, false); }, $logic); } else { return $logic; @@ -102,10 +112,28 @@ public static function apply($logic = [], $data = []) error_log($a); return $a; }, - 'var' => function ($a = null, $default = null) use ($data) { - if ($a === null or $a === "") { - return $data; + 'var' => function ($a = null, $default = null) use ($logic, $data) { + if (is_array($a)) $a = implode('.', $a); + + if (is_callable($data)) { + $cache_key = md5(implode(':', [ + static::$cache_key, + json_encode($logic), + (new \ReflectionFunction($data))->__toString(), + $a + ])); + + if (isset(static::$callable_cache[$cache_key])) { + return static::$callable_cache[$cache_key]; + } + + $result = empty($a) ? $data() : $data(...explode('.', $a)); //Trying to get a value from a callback + static::$callable_cache[$cache_key] = $result; + + return $result ?? $default; } + + if (empty($a)) return $data; //Descending into data using dot-notation //This is actually safe for integer indexes, PHP treats $a["1"] exactly like $a[1] foreach (explode('.', $a) as $prop) { @@ -119,6 +147,12 @@ public static function apply($logic = [], $data = []) } return $data; }, + '$var' => function ($a = null, $default = null) use ($data) { + return static::apply(['var' => [$a, $default]], static::$variables, false); + }, + '$iteration' => function ($a = null, $default = null) { + return static::apply(['var' => [$a, $default]], static::$iteration_variable, false); + }, 'missing' => function () use ($data) { /* Missing can receive many keys as many arguments, like {"missing:[1,2]} @@ -133,7 +167,7 @@ public static function apply($logic = [], $data = []) $missing = []; foreach ($values as $data_key) { - $value = static::apply(['var'=>$data_key], $data); + $value = static::apply(['var'=>$data_key], $data, false); if ($value === null or $value === "") { array_push($missing, $data_key); } @@ -142,7 +176,7 @@ public static function apply($logic = [], $data = []) return $missing; }, 'missing_some' => function ($minimum, $options) use ($data) { - $are_missing = static::apply(['missing'=>$options], $data); + $are_missing = static::apply(['missing'=>$options], $data, false); if (count($options) - count($are_missing) >= $minimum) { return []; } else { @@ -220,19 +254,19 @@ public static function apply($logic = [], $data = []) given 0 parameters, return NULL (not great practice, but there was no Else) */ for ($i = 0 ; $i < count($values) - 1 ; $i += 2) { - if (static::truthy(static::apply($values[$i], $data))) { - return static::apply($values[$i+1], $data); + if (static::truthy(static::apply($values[$i], $data, false))) { + return static::apply($values[$i+1], $data, false); } } if (count($values) === $i+1) { - return static::apply($values[$i], $data); + return static::apply($values[$i], $data, false); } return null; } elseif ($op === 'and') { // Return the first falsy value, or the last value // we don't even *evaluate* values after the first falsy (short-circuit) foreach ($values as $value) { - $current = static::apply($value, $data); + $current = static::apply($value, $data, false); if ( ! static::truthy($current)) { return $current; } @@ -243,7 +277,7 @@ public static function apply($logic = [], $data = []) // Return the first truthy value, or the last value // we don't even *evaluate* values after the first truthy (short-circuit) foreach ($values as $value) { - $current = static::apply($value, $data); + $current = static::apply($value, $data, false); if (static::truthy($current)) { return $current; } @@ -251,7 +285,7 @@ public static function apply($logic = [], $data = []) return $current; // Last } elseif ($op === "filter") { - $scopedData = static::apply($values[0], $data); + $scopedData = static::apply($values[0], $data, false); $scopedLogic = $values[1]; if (!$scopedData || !is_array($scopedData)) { @@ -262,11 +296,12 @@ public static function apply($logic = [], $data = []) // For parity with JavaScript, reindex the returned array return array_values( array_filter($scopedData, function ($datum) use ($scopedLogic) { - return static::truthy(static::apply($scopedLogic, $datum)); + static::$iteration_variable = $datum; + return static::truthy(static::apply($scopedLogic, $datum, false)); }) ); } elseif ($op === "map") { - $scopedData = static::apply($values[0], $data); + $scopedData = static::apply($values[0], $data, false); $scopedLogic = $values[1]; if (!$scopedData || !is_array($scopedData)) { @@ -275,12 +310,13 @@ public static function apply($logic = [], $data = []) return array_map( function ($datum) use ($scopedLogic) { - return static::apply($scopedLogic, $datum); + static::$iteration_variable = $datum; + return static::apply($scopedLogic, $datum, false); }, $scopedData ); } elseif ($op === "reduce") { - $scopedData = static::apply($values[0], $data); + $scopedData = static::apply($values[0], $data, false); $scopedLogic = $values[1]; $initial = isset($values[2]) ? $values[2] : null; @@ -291,29 +327,32 @@ function ($datum) use ($scopedLogic) { return array_reduce( $scopedData, function ($accumulator, $current) use ($scopedLogic) { + static::$iteration_variable = ['current'=>$current, 'accumulator'=>$accumulator]; return static::apply( $scopedLogic, - ['current'=>$current, 'accumulator'=>$accumulator] + ['current'=>$current, 'accumulator'=>$accumulator], + false ); }, $initial ); } elseif ($op === "all") { - $scopedData = static::apply($values[0], $data); + $scopedData = static::apply($values[0], $data, false); $scopedLogic = $values[1]; if (!$scopedData || !is_array($scopedData)) { return false; } $filtered = array_filter($scopedData, function ($datum) use ($scopedLogic) { - return static::truthy(static::apply($scopedLogic, $datum)); + static::$iteration_variable = $datum; + return static::truthy(static::apply($scopedLogic, $datum, false)); }); return count($filtered) === count($scopedData); } elseif ($op === "none") { - $filtered = static::apply(['filter' => $values], $data); + $filtered = static::apply(['filter' => $values], $data, false); return count($filtered) === 0; } elseif ($op === "some") { - $filtered = static::apply(['filter' => $values], $data); + $filtered = static::apply(['filter' => $values], $data, false); return count($filtered) > 0; } @@ -327,7 +366,7 @@ function ($accumulator, $current) use ($scopedLogic) { //Recursion! $values = array_map(function ($value) use ($data) { - return self::apply($value, $data); + return self::apply($value, $data, false); }, $values); return call_user_func_array($operation, $values); diff --git a/tests/JsonLogicTest.php b/tests/JsonLogicTest.php index 5756230..e3dffa1 100644 --- a/tests/JsonLogicTest.php +++ b/tests/JsonLogicTest.php @@ -19,41 +19,54 @@ public function testCommon($logic, $data, $expected) $this->assertEquals( $expected, JWadhams\JsonLogic::apply($logic, $data), - "JsonLogic::apply(".json_encode($logic).", ".json_encode($data).") == ".json_encode($expected) + implode("\n", [ + "JsonLogic::apply(".json_encode($logic).", ".json_encode($data).")", + "result: " . json_encode(JWadhams\JsonLogic::apply($logic, $data)), + "expected: " . json_encode($expected) + ]) ); } public function commonProvider() { - $local_path = __DIR__ . '/tests.json'; + $tests = [ + __DIR__ . '/tests.json', + __DIR__ . '/tests_new_variables.json', + ]; - if (! file_exists($local_path)) { - echo "Downloading shared apply() tests from JsonLogic.com ...\n"; - file_put_contents($local_path, fopen("http://jsonlogic.com/tests.json", 'r')); - } else { - echo "Using cached apply() tests from " . @ date('r', filemtime($local_path)) ."\n"; - echo "(rm {$local_path} to refresh)\n"; - } + $common_tests = []; - $body = file_get_contents($local_path); + foreach ($tests as $local_path) { + if (! file_exists($local_path)) { + echo "Downloading shared apply() tests from JsonLogic.com ...\n"; + file_put_contents($local_path, fopen("http://jsonlogic.com/tests.json", 'r')); + } else { + echo "Using cached apply() tests from " . @ date('r', filemtime($local_path)) ."\n"; + echo "(rm {$local_path} to refresh)\n"; + } - $test_as_objects = json_decode($body); - $test_as_associative = json_decode($body, true); + $body = file_get_contents($local_path); - if ($test_as_objects === null or $test_as_associative === null) { - die("Could not parse tests.json!"); - } + $test_as_objects = json_decode($body); + $test_as_associative = json_decode($body, true); + + if ($test_as_objects === null or $test_as_associative === null) { + die("Could not parse tests.json!"); + } - //Every scenario is double tested - $common_tests = array_merge( + //Every scenario is double tested + $common_tests = array_merge($common_tests, array_merge( json_decode($body),//once using PHP objects json_decode($body, true)//once using PHP associative arrays - ); - $common_tests = array_filter($common_tests, function ($row) { - //Discard comments or malformed rows - return is_array($row) and count($row) >= 3; - }); + )); + $common_tests = array_filter($common_tests, function ($row) { + //Discard comments or malformed rows + return is_array($row) && count($row) >= 3; + }); + } + + return $common_tests; }