{"ScriptPreparationCode":"var MyObject = { \r\n \t _id: \u0027{{objectId()}}\u0027,\r\n index: \u0027{{index()}}\u0027,\r\n guid: \u0027{{guid()}}\u0027,\r\n isActive: \u0027{{bool()}}\u0027,\r\n balance: \u0027{{floating(1000, 4000, 2, \u0022$0,0.00\u0022)}}\u0027,\r\n picture: \u0027http://placehold.it/32x32\u0027,\r\n age: \u0027{{integer(20, 40)}}\u0027,\r\n eyeColor: \u0027{{random(\u0022blue\u0022, \u0022brown\u0022, \u0022green\u0022)}}\u0027,\r\n name: {\r\n first: \u0027{{firstName()}}\u0027,\r\n last: \u0027{{surname()}}\u0027\r\n },\r\n company: \u0027{{company().toUpperCase()}}\u0027,\r\n email(tags) {\r\n return \u0060${this.name.first}.${this.name.last}@${this.company}${tags.domainZone()}\u0060.toLowerCase();\r\n },\r\n phone: \u0027\u002B1 {{phone()}}\u0027,\r\n address: \u0027{{integer(100, 999)}} {{street()}}, {{city()}}, {{state()}}, {{integer(100, 10000)}}\u0027,\r\n about: \u0027{{lorem(1, \u0022paragraphs\u0022)}}\u0027,\r\n registered: \u0027{{moment(this.date(new Date(2014, 0, 1), new Date())).format(\u0022LLLL\u0022)}}\u0027,\r\n latitude: \u0027{{floating(-90.000001, 90)}}\u0027,\r\n longitude: \u0027{{floating(-180.000001, 180)}}\u0027,\r\n tags: [\r\n {\r\n \u0027repeat(5)\u0027: \u0027{{lorem(1, \u0022words\u0022)}}\u0027\r\n }\r\n ],\r\n range: \u0027range(10)\u0027,\r\n friends: [\r\n {\r\n \u0027repeat(3)\u0027: {\r\n id: \u0027{{index()}}\u0027,\r\n name: \u0027{{firstName()}} {{surname()}}\u0027\r\n }\r\n }\r\n ],\r\n greeting(tags) {\r\n return \u0060Hello, ${this.name.first}! You have ${tags.integer(5, 10)} unread messages.\u0060;\r\n },\r\n favoriteFruit(tags) {\r\n const fruits = [\u0027apple\u0027, \u0027banana\u0027, \u0027strawberry\u0027];\r\n return fruits[tags.integer(0, fruits.length - 1)];\r\n }\r\n }\r\n\r\nvar myCopy = null;\r\n","TestCases":[{"Name":"Lodash cloneDeep","Code":"myCopy = _.cloneDeep(MyObject);","IsDeferred":false},{"Name":"Angular copy","Code":"myCopy = angular.copy(MyObject);","IsDeferred":false}]}