{"ScriptPreparationCode":"var data = {\r\n property: property\r\n};\r\n\r\nvar property = undefined;\r\n\r\nvar method = {\r\n getProperty: function() {\r\n return property;\r\n },\r\n\r\n setProperty: function(value) {\r\n property = value;\r\n }\r\n};\r\n\r\nvar objectLiteralAccessor = {\r\n get property() {\r\n return property;\r\n },\r\n set property(value) {\r\n property = value;\r\n }\r\n};\r\n\r\nfunction Class() {\r\n}\r\n\r\nClass.prototype = {\r\n getProperty() {\r\n return property;\r\n },\r\n setProperty(value) {\r\n property = value;\r\n },\r\n get property() {\r\n return property;\r\n },\r\n set property(value) {\r\n property = value;\r\n }\r\n};\r\n \r\nvar prototypeAccessor = new Class();\r\n\r\n\r\n","TestCases":[{"Name":"Read from data property","Code":"var value = data.property;","IsDeferred":false},{"Name":"Write to data property","Code":"data.property = true;","IsDeferred":false},{"Name":"Read from accessor method","Code":"var value = method.getProperty();","IsDeferred":false},{"Name":"Write to mutator method","Code":"method.setProperty(true);","IsDeferred":false},{"Name":"Read from object literal property","Code":"var value = objectLiteralAccessor.property;","IsDeferred":false},{"Name":"Write to object literal property","Code":"objectLiteralAccessor.property = true;","IsDeferred":false},{"Name":"Read from object literal property on prototype","Code":"var value = prototypeAccessor.property;","IsDeferred":false},{"Name":"Write to object literal property on prototype","Code":"prototypeAccessor.property = true;","IsDeferred":false},{"Name":"Write to object","Code":"var value = prototypeAccessor.getProperty();","IsDeferred":false},{"Name":"Read to object","Code":"prototypeAccessor.setProperty(true);","IsDeferred":false}]}