{"ScriptPreparationCode":null,"TestCases":[{"Name":"sdhiaughisedfgsdfg","Code":"function Foo() {\r\n this.level0 = 0;\r\n this.level1 = 0;\r\n this.level2 = 0;\r\n \r\n this.max = 1000;\r\n}\r\n\r\nFoo.prototype.run = function() {\r\n\treturn this._runLevel0();\r\n}\r\n\r\nFoo.prototype._runLevel0 = function() {\r\n if (this.level0 \u003C this.max) {\r\n this.level0 \u002B= this._runLevel1() ? 0 : 1;\r\n return true;\r\n }\r\n else {\r\n this.level0 = 0;\r\n return false;\r\n }\r\n}\r\n\r\nFoo.prototype._runLevel1 = function() {\r\n if (this.level1 \u003C this.max) {\r\n this.level1 \u002B= this._runLevel2() ? 0 : 1;\r\n return true;\r\n }\r\n else {\r\n this.level1 = 0;\r\n return false;\r\n }\r\n}\r\n\r\nFoo.prototype._runLevel2 = function() {\r\n if (this.level3 \u003C this.max) {\r\n this.level3 \u002B= 1;\r\n return true;\r\n }\r\n else {\r\n this.level0 = 0;\r\n return false;\r\n }\r\n}\r\n\r\nlet foo = [];\r\nlet instances = 300;\r\n\r\nfor (let i = 0; i \u003C instances; i\u002B\u002B) {\r\n\tfoo.push(new Foo());\r\n}\r\n\r\nconsole.log(\u0027Starting\u0027);\r\n\r\nlet result = true;\r\nwhile (result) {\r\n\tfor (let j = 0; j \u003C instances; j\u002B\u002B) {\r\n \tresult = foo[j].run();\r\n }\r\n}\r\n\r\nconsole.log(\u0027Done\u0027);","IsDeferred":false},{"Name":"Ugh","Code":"let inc = 0;\r\n\r\nlet Foo = function() {\r\n\tlet self = this;\r\n\r\n let level0 = 0;\r\n let level1 = 0;\r\n let level2 = 0;\r\n \r\n let max = 1000;\r\n \r\n function run() {\r\n \treturn runLevel0();\r\n }\r\n \r\n function runLevel0() {\r\n \tif (level0 \u003C max) {\r\n level0 \u002B= runLevel1() ? 0 : 1;\r\n return true;\r\n }\r\n else {\r\n self.level0 = 0;\r\n return false;\r\n }\r\n }\r\n \r\n function runLevel1() {\r\n if (level1 \u003C max) {\r\n level1 \u002B= runLevel2() ? 0 : 1;\r\n return true;\r\n }\r\n else {\r\n level1 = 0;\r\n return false;\r\n }\r\n }\r\n \r\n function runLevel2() {\r\n if (level2 \u003C max) {\r\n level2 \u002B= 1;\r\n return true;\r\n }\r\n else {\r\n level0 = 0;\r\n return false;\r\n }\r\n }\r\n \r\n return {\r\n \trun: run\r\n }\r\n}\r\n\r\nlet foo = [];\r\nlet instances = 300;\r\n\r\nfor (let i = 0; i \u003C instances; i\u002B\u002B) {\r\n\tfoo.push(new Foo());\r\n}\r\n\r\nconsole.log(\u0027Starting\u0027);\r\n\r\nlet result = true;\r\nwhile (result) {\r\n\tfor (let j = 0; j \u003C instances; j\u002B\u002B) {\r\n \tresult = foo[j].run();\r\n }\r\n}\r\n\r\nconsole.log(\u0027Done\u0027);","IsDeferred":false}]}