{"ScriptPreparationCode":"var obj = {\r\n \u0027undefined\u0027: undefined,\r\n \u0027null\u0027: null,\r\n \u0027zero\u0027: 0,\r\n \u0027one\u0027: 1,\r\n \u0027symbol\u0027: Symbol(\u0027symbol\u0027)\r\n};\r\n\r\nvar properties = [\u0027test\u0027, \u0027one\u0027, \u0027symbol\u0027, \u0027null\u0027, \u0027zero\u0027, \u0027undefined\u0027, \u0027toString\u0027];\r\n\r\nvar testResult = (obj, method, ...properties) =\u003E {\r\n let result = 0;\r\n for(let prop of properties) {\r\n if(method(obj, prop)) {\r\n result\u002B\u002B;\r\n }\r\n }\r\n return result;\r\n}","TestCases":[{"Name":"Truthy","Code":"testResult(obj, (o, p) =\u003E !!o[p], ...properties)","IsDeferred":false},{"Name":"HasOwnProperty","Code":"testResult(obj, (o, p) =\u003E o.hasOwnProperty(p), ...properties)","IsDeferred":false},{"Name":"In","Code":"testResult(obj, (o, p) =\u003E p in o, ...properties)","IsDeferred":false},{"Name":"Typeof","Code":"testResult(obj, (o, p) =\u003E \u0027undefined\u0027 !== typeof o[p], ...properties)","IsDeferred":false},{"Name":"Undefined","Code":"testResult(obj, (o, p) =\u003E undefined !== o[p], ...properties)","IsDeferred":false},{"Name":"Void","Code":"testResult(obj, (o, p) =\u003E void(0) !== o[p], ...properties)","IsDeferred":false}]}