http://git-wip-us.apache.org/repos/asf/olingo-odata4-js/blob/503b4417/test/test-demo-scenario.js
----------------------------------------------------------------------
diff --git a/test/test-demo-scenario.js b/test/test-demo-scenario.js
new file mode 100644
index 0000000..7b57fb6
--- /dev/null
+++ b/test/test-demo-scenario.js
@@ -0,0 +1,289 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+var odatajs = require('./../src/index-node.js');
+var chai = require('chai');
+var assert = chai.assert;
+
+var testDataJsonParserMetadataNone = [{
+  description: "Feed with metadata=none",
+  header:  "application/json;odata.metadata=none",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods";,
+  input:   
'{"value":[{"FoodID":0,"Name":"flour","UnitPrice":0.19999,"ServingSize":1,"MeasurementUnit":"Cup","ProteinGrams":3,"FatGrams":1,"CarbohydrateGrams":20,"CaloriesPerServing":140,"IsAvailable":true,"ExpirationDate":"2010-12-25T12:00:00Z","ItemGUID":"27272727-2727-2727-2727-272727272727","Weight":10,"AvailableUnits":1,"Packaging":{"Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":79228162514264337593543950335,"Height":32767,"Width":9223372036854775807,"Volume":1.7976931348623157E+308}},"CookedSize":{"Length":2,"Height":1,"Width":3,"Volume":6.0},"AlternativeNames":["ground
 cereal","ground grain"],"Providers":[{"Name":"Flour 
Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001}},{"Name":"Ground
 
Grains","Aliases":[],"Details":null}],"SpatialData":{"type":"GeometryCollection","geometries":[{"type":"Point","coordinates":[5.0,5.0]}],"c
 
rs":{"type":"name","properties":{"name":"EPSG:4326"}}}},{"FoodID":1,"Name":"sugar","UnitPrice":0.2,"ServingSize":1,"MeasurementUnit":"tsp","ProteinGrams":0,"FatGrams":0,"CarbohydrateGrams":4,"CaloriesPerServing":16,"IsAvailable":false,"ExpirationDate":"2011-12-28T00:00:00Z","ItemGUID":"ffffffff-ffff-ffff-ffff-ffffffffffff","Weight":0.1,"AvailableUnits":0,"Packaging":{"Type":"
 
","Color":"BLUE","NumberPerPackage":-2147483648,"RequiresRefridgeration":true,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":-79228162514264337593543950335,"Height":-32768,"Width":-9223372036854775808,"Volume":-1.7976931348623157E+308}},"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null},{"FoodID":2,"Name":"1
 Chicken 
Egg","UnitPrice":0.55,"ServingSize":1,"MeasurementUnit":null,"ProteinGrams":6,"FatGrams":1,"CarbohydrateGrams":1,"CaloriesPerServing":70,"IsAvailable":true,"ExpirationDate":"2000-12-29T00:00:00Z","ItemGUID":"00000000-0000-0000-0000-000000000000","Weight":0,"A
 vailableUnits":-128,"Packaging":{"Type":"18     - Carton","Color":" brown 
","NumberPerPackage":0,"RequiresRefridgeration":true,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":null},"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null},{"FoodID":3,"Name":"Brown
 
Sugar","UnitPrice":1.6,"ServingSize":1,"MeasurementUnit":"TSP.","ProteinGrams":0,"FatGrams":0,"CarbohydrateGrams":5,"CaloriesPerServing":16,"IsAvailable":true,"ExpirationDate":"2011-12-28T00:00:00Z","ItemGUID":"01234567-89ab-cdef-0123-456789abcdef","Weight":4.5,"AvailableUnits":127,"Packaging":null,"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null},{"FoodID":4,"Name":"Cobb
 
Salad","UnitPrice":1.99,"ServingSize":-1,"MeasurementUnit":"cups","ProteinGrams":6,"FatGrams":1,"CarbohydrateGrams":3,"CaloriesPerServing":5,"IsAvailable":true,"ExpirationDate":"2000-12-29T00:00:00Z","ItemGUID":"01234567-89ab-cdef-0123-456789abcdef","Weight":5.674,"AvailableUnits":127,"Packaging":null,"Cooke
 
dSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null,"Instructions":"1.)
 Open 2.) 
Eat","NumberOfIngredients":4}],"@odata.nextLink":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods?$skiptoken=4"}',
+  expected: 
{"value":[{"FoodID":0,"Name":"flour","UnitPrice":0.19999,"ServingSize":1,"MeasurementUnit":"Cup","ProteinGrams":3,"FatGrams":1,"CarbohydrateGrams":20,"CaloriesPerServing":140,"IsAvailable":true,"ExpirationDate":"2010-12-25T12:00:00Z","ItemGUID":"27272727-2727-2727-2727-272727272727","Weight":10,"AvailableUnits":1,"Packaging":{"Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":79228162514264337593543950335,"Height":32767,"Width":9223372036854775807,"Volume":1.7976931348623157E+308}},"CookedSize":{"Length":2,"Height":1,"Width":3,"Volume":6.0},"AlternativeNames":["ground
 cereal","ground grain"],"Providers":[{"Name":"Flour 
Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001}},{"Name":"Ground
 
Grains","Aliases":[],"Details":null}],"SpatialData":{"type":"GeometryCollection","geometries":[{"type":"Point","coordinates":[5.0,5.0]}],"c
 
rs":{"type":"name","properties":{"name":"EPSG:4326"}}}},{"FoodID":1,"Name":"sugar","UnitPrice":0.2,"ServingSize":1,"MeasurementUnit":"tsp","ProteinGrams":0,"FatGrams":0,"CarbohydrateGrams":4,"CaloriesPerServing":16,"IsAvailable":false,"ExpirationDate":"2011-12-28T00:00:00Z","ItemGUID":"ffffffff-ffff-ffff-ffff-ffffffffffff","Weight":0.1,"AvailableUnits":0,"Packaging":{"Type":"
 
","Color":"BLUE","NumberPerPackage":-2147483648,"RequiresRefridgeration":true,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":-79228162514264337593543950335,"Height":-32768,"Width":-9223372036854775808,"Volume":-1.7976931348623157E+308}},"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null},{"FoodID":2,"Name":"1
 Chicken 
Egg","UnitPrice":0.55,"ServingSize":1,"MeasurementUnit":null,"ProteinGrams":6,"FatGrams":1,"CarbohydrateGrams":1,"CaloriesPerServing":70,"IsAvailable":true,"ExpirationDate":"2000-12-29T00:00:00Z","ItemGUID":"00000000-0000-0000-0000-000000000000","Weight":0,"A
 vailableUnits":-128,"Packaging":{"Type":"18     - Carton","Color":" brown 
","NumberPerPackage":0,"RequiresRefridgeration":true,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":null},"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null},{"FoodID":3,"Name":"Brown
 
Sugar","UnitPrice":1.6,"ServingSize":1,"MeasurementUnit":"TSP.","ProteinGrams":0,"FatGrams":0,"CarbohydrateGrams":5,"CaloriesPerServing":16,"IsAvailable":true,"ExpirationDate":"2011-12-28T00:00:00Z","ItemGUID":"01234567-89ab-cdef-0123-456789abcdef","Weight":4.5,"AvailableUnits":127,"Packaging":null,"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null},{"FoodID":4,"Name":"Cobb
 
Salad","UnitPrice":1.99,"ServingSize":-1,"MeasurementUnit":"cups","ProteinGrams":6,"FatGrams":1,"CarbohydrateGrams":3,"CaloriesPerServing":5,"IsAvailable":true,"ExpirationDate":"2000-12-29T00:00:00Z","ItemGUID":"01234567-89ab-cdef-0123-456789abcdef","Weight":5.674,"AvailableUnits":127,"Packaging":null,"Cooke
 
dSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null,"Instructions":"1.)
 Open 2.) 
Eat","NumberOfIngredients":4}],"@odata.nextLink":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods?$skiptoken=4"}
+},{
+  description: "Entry with metadata=none",
+  header:  "application/json;odata.metadata=none",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)",
+  input:   
'{"FoodID":0,"Name":"flour","UnitPrice":0.19999,"ServingSize":1,"MeasurementUnit":"Cup","ProteinGrams":3,"FatGrams":1,"CarbohydrateGrams":20,"CaloriesPerServing":140,"IsAvailable":true,"ExpirationDate":"2010-12-25T12:00:00Z","ItemGUID":"27272727-2727-2727-2727-272727272727","Weight":10,"AvailableUnits":1,"Packaging":{"Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":79228162514264337593543950335,"Height":32767,"Width":9223372036854775807,"Volume":1.7976931348623157E+308}},"CookedSize":{"Length":2,"Height":1,"Width":3,"Volume":6.0},"AlternativeNames":["ground
 cereal","ground grain"],"Providers":[{"Name":"Flour 
Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001}},{"Name":"Ground
 
Grains","Aliases":[],"Details":null}],"SpatialData":{"type":"GeometryCollection","geometries":[{"type":"Point","coordinates":[5.0,5.0]}],"crs":{"type
 ":"name","properties":{"name":"EPSG:4326"}}}}',
+  expected: 
{"FoodID":0,"Name":"flour","UnitPrice":0.19999,"ServingSize":1,"MeasurementUnit":"Cup","ProteinGrams":3,"FatGrams":1,"CarbohydrateGrams":20,"CaloriesPerServing":140,"IsAvailable":true,"ExpirationDate":"2010-12-25T12:00:00Z","ItemGUID":"27272727-2727-2727-2727-272727272727","Weight":10,"AvailableUnits":1,"Packaging":{"Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":79228162514264337593543950335,"Height":32767,"Width":9223372036854775807,"Volume":1.7976931348623157E+308}},"CookedSize":{"Length":2,"Height":1,"Width":3,"Volume":6.0},"AlternativeNames":["ground
 cereal","ground grain"],"Providers":[{"Name":"Flour 
Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001}},{"Name":"Ground
 
Grains","Aliases":[],"Details":null}],"SpatialData":{"type":"GeometryCollection","geometries":[{"type":"Point","coordinates":[5.0,5.0]}],"crs":{"type
 ":"name","properties":{"name":"EPSG:4326"}}}}
+},{
+  description: "Collection of Complex with metadata=none",
+  header:  "application/json;odata.metadata=none",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)/Providers",
+  input:   '{"value":[{"Name":"Flour Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001}},{"Name":"Ground
 Grains","Aliases":[],"Details":null}]}',
+  expected: {"value":[{"Name":"Flour Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001}},{"Name":"Ground
 Grains","Aliases":[],"Details":null}]}
+},{
+  description: "Collection of Simple with metadata=none",
+  header:  "application/json;odata.metadata=none",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)/AlternativeNames",
+  input:   '{"value":["ground cereal","ground grain"]}',
+  expected: {"value":["ground cereal","ground grain"]}
+},{
+  description: "Complex Property with metadata=none",
+  header:  "application/json;odata.metadata=none",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)/Packaging",
+  input:   
'{"Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":79228162514264337593543950335,"Height":32767,"Width":9223372036854775807,"Volume":1.7976931348623157E+308}}',
+  expected: 
{"Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":79228162514264337593543950335,"Height":32767,"Width":9223372036854775807,"Volume":1.7976931348623157E+308}}
+},{
+  description: "Simple Property with metadata=none",
+  header:  "application/json;odata.metadata=none",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)/Name",
+  input:   '{"value":"flour"}',
+  expected: {"value":"flour"}
+}];
+
+var testDataJsonParserMetadataMinimal = [{
+  description: "Feed with metadata=minimal",
+  header:  "application/json;odata.metadata=minimal",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods";,
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods","value":[{"FoodID":0,"Name":"flour","UnitPrice":0.19999,"ServingSize":1,"MeasurementUnit":"Cup","ProteinGrams":3,"FatGrams":1,"CarbohydrateGrams":20,"CaloriesPerServing":140,"IsAvailable":true,"ExpirationDate":"2010-12-25T12:00:00Z","ItemGUID":"27272727-2727-2727-2727-272727272727","Weight":10,"AvailableUnits":1,"Packaging":{"Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":79228162514264337593543950335,"Height":32767,"Width":9223372036854775807,"Volume":1.7976931348623157E+308}},"CookedSize":{"Length":2,"Height":1,"Width":3,"Volume":6.0},"AlternativeNames":["ground
 cereal","ground grain"],"Providers":[{"Name":"Flour 
Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001}},{"Name":"Ground
 Grains","Aliases":[],"Details":null}],"
 
SpatialData":{"type":"GeometryCollection","geometries":[{"type":"Point","coordinates":[5.0,5.0]}],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}}},{"FoodID":1,"Name":"sugar","UnitPrice":0.2,"ServingSize":1,"MeasurementUnit":"tsp","ProteinGrams":0,"FatGrams":0,"CarbohydrateGrams":4,"CaloriesPerServing":16,"IsAvailable":false,"ExpirationDate":"2011-12-28T00:00:00Z","ItemGUID":"ffffffff-ffff-ffff-ffff-ffffffffffff","Weight":0.1,"AvailableUnits":0,"Packaging":{"Type":"
 
","Color":"BLUE","NumberPerPackage":-2147483648,"RequiresRefridgeration":true,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":-79228162514264337593543950335,"Height":-32768,"Width":-9223372036854775808,"Volume":-1.7976931348623157E+308}},"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null},{"FoodID":2,"Name":"1
 Chicken 
Egg","UnitPrice":0.55,"ServingSize":1,"MeasurementUnit":null,"ProteinGrams":6,"FatGrams":1,"CarbohydrateGrams":1,"CaloriesPerServing":70,"IsAvailable":true,"Ex
 
pirationDate":"2000-12-29T00:00:00Z","ItemGUID":"00000000-0000-0000-0000-000000000000","Weight":0,"AvailableUnits":-128,"Packaging":{"Type":"18
     - Carton","Color":" brown 
","NumberPerPackage":0,"RequiresRefridgeration":true,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":null},"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null},{"FoodID":3,"Name":"Brown
 
Sugar","UnitPrice":1.6,"ServingSize":1,"MeasurementUnit":"TSP.","ProteinGrams":0,"FatGrams":0,"CarbohydrateGrams":5,"CaloriesPerServing":16,"IsAvailable":true,"ExpirationDate":"2011-12-28T00:00:00Z","ItemGUID":"01234567-89ab-cdef-0123-456789abcdef","Weight":4.5,"AvailableUnits":127,"Packaging":null,"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null},{"@odata.type":"#DataJS.Tests.V4.PreparedFood","FoodID":4,"Name":"Cobb
 
Salad","UnitPrice":1.99,"ServingSize":-1,"MeasurementUnit":"cups","ProteinGrams":6,"FatGrams":1,"CarbohydrateGrams":3,"CaloriesPerServing":5,"IsAvailable":true,"Ex
 
pirationDate":"2000-12-29T00:00:00Z","ItemGUID":"01234567-89ab-cdef-0123-456789abcdef","Weight":5.674,"AvailableUnits":127,"Packaging":null,"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null,"Instructions":"1.)
 Open 2.) 
Eat","NumberOfIngredients":4}],"@odata.nextLink":"Foods?$skiptoken=4"}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods","value":[{"FoodID":0,"Name":"flour","UnitPrice":0.19999,"ServingSize":1,"MeasurementUnit":"Cup","ProteinGrams":3,"FatGrams":1,"CarbohydrateGrams":20,"CaloriesPerServing":140,"IsAvailable":true,"ExpirationDate":"2010-12-25T12:00:00Z","ItemGUID":"27272727-2727-2727-2727-272727272727","Weight":10,"AvailableUnits":1,"Packaging":{"Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":79228162514264337593543950335,"Height":32767,"Width":9223372036854775807,"Volume":1.7976931348623157E+308}},"CookedSize":{"Length":2,"Height":1,"Width":3,"Volume":6.0},"AlternativeNames":["ground
 cereal","ground grain"],"Providers":[{"Name":"Flour 
Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001}},{"Name":"Ground
 Grains","Aliases":[],"Details":null}],"
 
SpatialData":{"type":"GeometryCollection","geometries":[{"type":"Point","coordinates":[5.0,5.0]}],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}}},{"FoodID":1,"Name":"sugar","UnitPrice":0.2,"ServingSize":1,"MeasurementUnit":"tsp","ProteinGrams":0,"FatGrams":0,"CarbohydrateGrams":4,"CaloriesPerServing":16,"IsAvailable":false,"ExpirationDate":"2011-12-28T00:00:00Z","ItemGUID":"ffffffff-ffff-ffff-ffff-ffffffffffff","Weight":0.1,"AvailableUnits":0,"Packaging":{"Type":"
 
","Color":"BLUE","NumberPerPackage":-2147483648,"RequiresRefridgeration":true,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":-79228162514264337593543950335,"Height":-32768,"Width":-9223372036854775808,"Volume":-1.7976931348623157E+308}},"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null},{"FoodID":2,"Name":"1
 Chicken 
Egg","UnitPrice":0.55,"ServingSize":1,"MeasurementUnit":null,"ProteinGrams":6,"FatGrams":1,"CarbohydrateGrams":1,"CaloriesPerServing":70,"IsAvailable":true,"Ex
 
pirationDate":"2000-12-29T00:00:00Z","ItemGUID":"00000000-0000-0000-0000-000000000000","Weight":0,"AvailableUnits":-128,"Packaging":{"Type":"18
     - Carton","Color":" brown 
","NumberPerPackage":0,"RequiresRefridgeration":true,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":null},"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null},{"FoodID":3,"Name":"Brown
 
Sugar","UnitPrice":1.6,"ServingSize":1,"MeasurementUnit":"TSP.","ProteinGrams":0,"FatGrams":0,"CarbohydrateGrams":5,"CaloriesPerServing":16,"IsAvailable":true,"ExpirationDate":"2011-12-28T00:00:00Z","ItemGUID":"01234567-89ab-cdef-0123-456789abcdef","Weight":4.5,"AvailableUnits":127,"Packaging":null,"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null},{"@odata.type":"#DataJS.Tests.V4.PreparedFood","FoodID":4,"Name":"Cobb
 
Salad","UnitPrice":1.99,"ServingSize":-1,"MeasurementUnit":"cups","ProteinGrams":6,"FatGrams":1,"CarbohydrateGrams":3,"CaloriesPerServing":5,"IsAvailable":true,"Ex
 
pirationDate":"2000-12-29T00:00:00Z","ItemGUID":"01234567-89ab-cdef-0123-456789abcdef","Weight":5.674,"AvailableUnits":127,"Packaging":null,"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null,"Instructions":"1.)
 Open 2.) Eat","NumberOfIngredients":4}],"@odata.nextLink":"Foods?$skiptoken=4"}
+},{
+  description: "Entry with metadata=minimal",
+  header:  "application/json;odata.metadata=minimal",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)",
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods/$entity","FoodID":0,"Name":"flour","UnitPrice":0.19999,"ServingSize":1,"MeasurementUnit":"Cup","ProteinGrams":3,"FatGrams":1,"CarbohydrateGrams":20,"CaloriesPerServing":140,"IsAvailable":true,"ExpirationDate":"2010-12-25T12:00:00Z","ItemGUID":"27272727-2727-2727-2727-272727272727","Weight":10,"AvailableUnits":1,"Packaging":{"Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":79228162514264337593543950335,"Height":32767,"Width":9223372036854775807,"Volume":1.7976931348623157E+308}},"CookedSize":{"Length":2,"Height":1,"Width":3,"Volume":6.0},"AlternativeNames":["ground
 cereal","ground grain"],"Providers":[{"Name":"Flour 
Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001}},{"Name":"Ground
 Grains","Aliases":[],"Details":null}],"Sp
 
atialData":{"type":"GeometryCollection","geometries":[{"type":"Point","coordinates":[5.0,5.0]}],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}}}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods/$entity","FoodID":0,"Name":"flour","UnitPrice":0.19999,"ServingSize":1,"MeasurementUnit":"Cup","ProteinGrams":3,"FatGrams":1,"CarbohydrateGrams":20,"CaloriesPerServing":140,"IsAvailable":true,"ExpirationDate":"2010-12-25T12:00:00Z","ItemGUID":"27272727-2727-2727-2727-272727272727","Weight":10,"AvailableUnits":1,"Packaging":{"Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":79228162514264337593543950335,"Height":32767,"Width":9223372036854775807,"Volume":1.7976931348623157E+308}},"CookedSize":{"Length":2,"Height":1,"Width":3,"Volume":6.0},"AlternativeNames":["ground
 cereal","ground grain"],"Providers":[{"Name":"Flour 
Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001}},{"Name":"Ground
 Grains","Aliases":[],"Details":null}],"Sp
 
atialData":{"type":"GeometryCollection","geometries":[{"type":"Point","coordinates":[5.0,5.0]}],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}}}
+},{
+  description: "Collection of Complex with metadata=minimal",
+  header:  "application/json;odata.metadata=minimal",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)/Providers",
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Providers","value":[{"Name":"Flour
 Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001}},{"Name":"Ground
 Grains","Aliases":[],"Details":null}]}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Providers","value":[{"Name":"Flour
 Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001}},{"Name":"Ground
 Grains","Aliases":[],"Details":null}]}
+},{
+  description: "Collection of Simple with metadata=minimal",
+  header:  "application/json;odata.metadata=minimal",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)/AlternativeNames",
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/AlternativeNames","value":["ground
 cereal","ground grain"]}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/AlternativeNames","value":["ground
 cereal","ground grain"]}
+},{
+  description: "Complex Property with metadata=minimal",
+  header:  "application/json;odata.metadata=minimal",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)/Packaging",
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Packaging","Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":79228162514264337593543950335,"Height":32767,"Width":9223372036854775807,"Volume":1.7976931348623157E+308}}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Packaging","Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":79228162514264337593543950335,"Height":32767,"Width":9223372036854775807,"Volume":1.7976931348623157E+308}}
+},{
+  description: "Simple Property with metadata=minimal",
+  header:  "application/json;odata.metadata=minimal",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)/Name",
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Name","value":"flour"}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Name","value":"flour"}
+}];
+
+
+var testDataJsonParserMetadataMinimalToFull = [{
+  description: "Feed with metadata=minimal",
+  header:  "application/json;odata.metadata=minimal",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods";,
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods","value":[{"FoodID":0,"Name":"flour","UnitPrice":0.19999,"ServingSize":1,"MeasurementUnit":"Cup","ProteinGrams":3,"FatGrams":1,"CarbohydrateGrams":20,"CaloriesPerServing":140,"IsAvailable":true,"ExpirationDate":"2010-12-25T12:00:00Z","ItemGUID":"27272727-2727-2727-2727-272727272727","Weight":10,"AvailableUnits":1,"Packaging":{"Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":79228162514264337593543950335,"Height":32767,"Width":9223372036854775807,"Volume":1.7976931348623157E+308}},"CookedSize":{"Length":2,"Height":1,"Width":3,"Volume":6.0},"AlternativeNames":["ground
 cereal","ground grain"],"Providers":[{"Name":"Flour 
Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001}},{"Name":"Ground
 Grains","Aliases":[],"Details":null}],"
 
SpatialData":{"type":"GeometryCollection","geometries":[{"type":"Point","coordinates":[5.0,5.0]}],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}}},{"FoodID":1,"Name":"sugar","UnitPrice":0.2,"ServingSize":1,"MeasurementUnit":"tsp","ProteinGrams":0,"FatGrams":0,"CarbohydrateGrams":4,"CaloriesPerServing":16,"IsAvailable":false,"ExpirationDate":"2011-12-28T00:00:00Z","ItemGUID":"ffffffff-ffff-ffff-ffff-ffffffffffff","Weight":0.1,"AvailableUnits":0,"Packaging":{"Type":"
 
","Color":"BLUE","NumberPerPackage":-2147483648,"RequiresRefridgeration":true,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":-79228162514264337593543950335,"Height":-32768,"Width":-9223372036854775808,"Volume":-1.7976931348623157E+308}},"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null},{"FoodID":2,"Name":"1
 Chicken 
Egg","UnitPrice":0.55,"ServingSize":1,"MeasurementUnit":null,"ProteinGrams":6,"FatGrams":1,"CarbohydrateGrams":1,"CaloriesPerServing":70,"IsAvailable":true,"Ex
 
pirationDate":"2000-12-29T00:00:00Z","ItemGUID":"00000000-0000-0000-0000-000000000000","Weight":0,"AvailableUnits":-128,"Packaging":{"Type":"18
     - Carton","Color":" brown 
","NumberPerPackage":0,"RequiresRefridgeration":true,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":null},"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null},{"FoodID":3,"Name":"Brown
 
Sugar","UnitPrice":1.6,"ServingSize":1,"MeasurementUnit":"TSP.","ProteinGrams":0,"FatGrams":0,"CarbohydrateGrams":5,"CaloriesPerServing":16,"IsAvailable":true,"ExpirationDate":"2011-12-28T00:00:00Z","ItemGUID":"01234567-89ab-cdef-0123-456789abcdef","Weight":4.5,"AvailableUnits":127,"Packaging":null,"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null},{"@odata.type":"#DataJS.Tests.V4.PreparedFood","FoodID":4,"Name":"Cobb
 
Salad","UnitPrice":1.99,"ServingSize":-1,"MeasurementUnit":"cups","ProteinGrams":6,"FatGrams":1,"CarbohydrateGrams":3,"CaloriesPerServing":5,"IsAvailable":true,"Ex
 
pirationDate":"2000-12-29T00:00:00Z","ItemGUID":"01234567-89ab-cdef-0123-456789abcdef","Weight":5.674,"AvailableUnits":127,"Packaging":null,"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null,"Instructions":"1.)
 Open 2.) 
Eat","NumberOfIngredients":4}],"@odata.nextLink":"Foods?$skiptoken=4"}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods","value":[{"FoodID":0,"Name":"flour","UnitPrice":0.19999,"ServingSize":1,"MeasurementUnit":"Cup","ProteinGrams":3,"FatGrams":1,"CarbohydrateGrams":20,"CaloriesPerServing":140,"IsAvailable":true,"ExpirationDate":"2010-12-25T12:00:00Z","ItemGUID":"27272727-2727-2727-2727-272727272727","Weight":10,"AvailableUnits":1,"Packaging":{"Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":7.922816251426434e+28,"Height":32767,"Width":9223372036854776000,"Volume":1.7976931348623157e+308,"@odata.type":"#DataJS.Tests.V4.Dimensions","[email protected]":"#Decimal","[email protected]":"#Int16","[email protected]":"#Int64","[email protected]":"#Double"},"@odata.type":"#DataJS.Tests.V4.Package","[email protected]":"#String","[email protected]":"#String","[email protected]":"#Int32","RequiresRe
 
[email protected]":"#Boolean","[email protected]":"#DateTimeOffset"},"CookedSize":{"Length":2,"Height":1,"Width":3,"Volume":6,"@odata.type":"#DataJS.Tests.V4.CookedDimensions","[email protected]":"#Decimal","[email protected]":"#Int16","[email protected]":"#Int64","[email protected]":"#Double"},"AlternativeNames":["ground
 cereal","ground grain"],"Providers":[{"Name":"Flour 
Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001,"@odata.type":"#DataJS.Tests.V4.ProviderDetails","[email protected]":"#String","[email protected]":"#Int32"},"@odata.type":"#Collection(DataJS.Tests.V4.Provider)","[email protected]":"#String","[email protected]":"#Collection(String)"},{"Name":"Ground
 
Grains","Aliases":[],"Details":null,"@odata.type":"#Collection(DataJS.Tests.V4.Provider)","[email protected]":"#String","[email protected]":"#Collection(String)","[email protected]":"#DataJS.Tests.V4.ProviderDetails"}],"SpatialData":{"type":"Geometr
 
yCollection","geometries":[{"type":"Point","coordinates":[5,5]}],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"@odata.type":"#Edm.GeometryCollection"},"@odata.type":"#DataJS.Tests.V4.Food","@odata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)","@odata.editLink":"Foods(0)","[email protected]":"#Int32","[email protected]":"#String","[email protected]":"#Double","[email protected]":"#Decimal","[email protected]":"#String","[email protected]":"#Byte","[email protected]":"#Int16","[email protected]":"#Int32","[email protected]":"#Int64","[email protected]":"#Boolean","[email protected]":"#DateTimeOffset","[email protected]":"#Guid","[email protected]":"#Single","[email protected]":"#SByte","[email protected]":"#Collection(String)","[email protected]":"#Collection(DataJS.Tests.V4.Provider)"},{"FoodID":1,"Name":"sugar","UnitPrice":0.2,"ServingSize":1,"MeasurementUni
 
t":"tsp","ProteinGrams":0,"FatGrams":0,"CarbohydrateGrams":4,"CaloriesPerServing":16,"IsAvailable":false,"ExpirationDate":"2011-12-28T00:00:00Z","ItemGUID":"ffffffff-ffff-ffff-ffff-ffffffffffff","Weight":0.1,"AvailableUnits":0,"Packaging":{"Type":"
 
","Color":"BLUE","NumberPerPackage":-2147483648,"RequiresRefridgeration":true,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":-7.922816251426434e+28,"Height":-32768,"Width":-9223372036854776000,"Volume":-1.7976931348623157e+308,"@odata.type":"#DataJS.Tests.V4.Dimensions","[email protected]":"#Decimal","[email protected]":"#Int16","[email protected]":"#Int64","[email protected]":"#Double"},"@odata.type":"#DataJS.Tests.V4.Package","[email protected]":"#String","[email protected]":"#String","[email protected]":"#Int32","[email protected]":"#Boolean","[email protected]":"#DateTimeOffset"},"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null,"@odata.type":"#DataJS.Tests.V4.Food","@od
 
ata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(1)","@odata.editLink":"Foods(1)","[email protected]":"#Int32","[email protected]":"#String","[email protected]":"#Double","[email protected]":"#Decimal","[email protected]":"#String","[email protected]":"#Byte","[email protected]":"#Int16","[email protected]":"#Int32","[email protected]":"#Int64","[email protected]":"#Boolean","[email protected]":"#DateTimeOffset","[email protected]":"#Guid","[email protected]":"#Single","[email protected]":"#SByte","[email protected]":"#DataJS.Tests.V4.CookedDimensions","[email protected]":"#Collection(String)","[email protected]":"#Collection(DataJS.Tests.V4.Provider)","[email protected]":"#GeometryCollection"},{"FoodID":2,"Name":"1
 Chicken 
Egg","UnitPrice":0.55,"ServingSize":1,"MeasurementUnit":null,"ProteinGrams":6,"FatGrams":1,"CarbohydrateGrams":1,"CaloriesPerServing":70,"IsA
 
vailable":true,"ExpirationDate":"2000-12-29T00:00:00Z","ItemGUID":"00000000-0000-0000-0000-000000000000","Weight":0,"AvailableUnits":-128,"Packaging":{"Type":"18
     - Carton","Color":" brown 
","NumberPerPackage":0,"RequiresRefridgeration":true,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":null,"@odata.type":"#DataJS.Tests.V4.Package","[email protected]":"#String","[email protected]":"#String","[email protected]":"#Int32","[email protected]":"#Boolean","[email protected]":"#DateTimeOffset","[email protected]":"#DataJS.Tests.V4.Dimensions"},"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null,"@odata.type":"#DataJS.Tests.V4.Food","@odata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(2)","@odata.editLink":"Foods(2)","[email protected]":"#Int32","[email protected]":"#String","[email protected]":"#Double","[email protected]":"#Decimal","[email protected]":"#String","ProteinGrams
 
@odata.type":"#Byte","[email protected]":"#Int16","[email protected]":"#Int32","[email protected]":"#Int64","[email protected]":"#Boolean","[email protected]":"#DateTimeOffset","[email protected]":"#Guid","[email protected]":"#Single","[email protected]":"#SByte","[email protected]":"#DataJS.Tests.V4.CookedDimensions","[email protected]":"#Collection(String)","[email protected]":"#Collection(DataJS.Tests.V4.Provider)","[email protected]":"#GeometryCollection"},{"FoodID":3,"Name":"Brown
 
Sugar","UnitPrice":1.6,"ServingSize":1,"MeasurementUnit":"TSP.","ProteinGrams":0,"FatGrams":0,"CarbohydrateGrams":5,"CaloriesPerServing":16,"IsAvailable":true,"ExpirationDate":"2011-12-28T00:00:00Z","ItemGUID":"01234567-89ab-cdef-0123-456789abcdef","Weight":4.5,"AvailableUnits":127,"Packaging":null,"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null,"@odata.type":"#DataJS.Tests.V4.Food","@odata.id":"http://loca
 
lhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(3)","@odata.editLink":"Foods(3)","[email protected]":"#Int32","[email protected]":"#String","[email protected]":"#Double","[email protected]":"#Decimal","[email protected]":"#String","[email protected]":"#Byte","[email protected]":"#Int16","[email protected]":"#Int32","[email protected]":"#Int64","[email protected]":"#Boolean","[email protected]":"#DateTimeOffset","[email protected]":"#Guid","[email protected]":"#Single","[email protected]":"#SByte","[email protected]":"#DataJS.Tests.V4.Package","[email protected]":"#DataJS.Tests.V4.CookedDimensions","[email protected]":"#Collection(String)","[email protected]":"#Collection(DataJS.Tests.V4.Provider)","[email protected]":"#GeometryCollection"},{"@odata.type":"#DataJS.Tests.V4.PreparedFood","FoodID":4,"Name":"Cobb
 Salad","UnitPrice":1.99,"ServingSize":-1,"MeasurementUnit":"cups","Pro
 
teinGrams":6,"FatGrams":1,"CarbohydrateGrams":3,"CaloriesPerServing":5,"IsAvailable":true,"ExpirationDate":"2000-12-29T00:00:00Z","ItemGUID":"01234567-89ab-cdef-0123-456789abcdef","Weight":5.674,"AvailableUnits":127,"Packaging":null,"CookedSize":null,"AlternativeNames":[],"Providers":[],"SpatialData":null,"Instructions":"1.)
 Open 2.) 
Eat","NumberOfIngredients":4,"@odata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(4)","@odata.editLink":"Foods(4)","[email protected]":"#Int32","[email protected]":"#String","[email protected]":"#Double","[email protected]":"#Decimal","[email protected]":"#String","[email protected]":"#Byte","[email protected]":"#Int16","[email protected]":"#Int32","[email protected]":"#Int64","[email protected]":"#Boolean","[email protected]":"#DateTimeOffset","[email protected]":"#Guid","[email protected]":"#Single","[email protected]":"#SByte","[email protected]":"#
 
DataJS.Tests.V4.Package","[email protected]":"#DataJS.Tests.V4.CookedDimensions","[email protected]":"#Collection(String)","[email protected]":"#Collection(DataJS.Tests.V4.Provider)","[email protected]":"#GeometryCollection","[email protected]":"#String","[email protected]":"#Single"}],"@odata.nextLink":"Foods?$skiptoken=4"}
+},{
+  description: "Entry with metadata=minimal",
+  header:  "application/json;odata.metadata=minimal",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)",
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods/$entity","FoodID":0,"Name":"flour","UnitPrice":0.19999,"ServingSize":1,"MeasurementUnit":"Cup","ProteinGrams":3,"FatGrams":1,"CarbohydrateGrams":20,"CaloriesPerServing":140,"IsAvailable":true,"ExpirationDate":"2010-12-25T12:00:00Z","ItemGUID":"27272727-2727-2727-2727-272727272727","Weight":10,"AvailableUnits":1,"Packaging":{"Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":79228162514264337593543950335,"Height":32767,"Width":9223372036854775807,"Volume":1.7976931348623157E+308}},"CookedSize":{"Length":2,"Height":1,"Width":3,"Volume":6.0},"AlternativeNames":["ground
 cereal","ground grain"],"Providers":[{"Name":"Flour 
Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001}},{"Name":"Ground
 Grains","Aliases":[],"Details":null}],"Sp
 
atialData":{"type":"GeometryCollection","geometries":[{"type":"Point","coordinates":[5.0,5.0]}],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}}}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods/$entity","FoodID":0,"Name":"flour","UnitPrice":0.19999,"ServingSize":1,"MeasurementUnit":"Cup","ProteinGrams":3,"FatGrams":1,"CarbohydrateGrams":20,"CaloriesPerServing":140,"IsAvailable":true,"ExpirationDate":"2010-12-25T12:00:00Z","ItemGUID":"27272727-2727-2727-2727-272727272727","Weight":10,"AvailableUnits":1,"Packaging":{"Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":7.922816251426434e+28,"Height":32767,"Width":9223372036854776000,"Volume":1.7976931348623157e+308,"@odata.type":"#DataJS.Tests.V4.Dimensions","[email protected]":"#Decimal","[email protected]":"#Int16","[email protected]":"#Int64","[email protected]":"#Double"},"@odata.type":"#DataJS.Tests.V4.Package","[email protected]":"#String","[email protected]":"#String","[email protected]":"#Int32","RequiresRefr
 
[email protected]":"#Boolean","[email protected]":"#DateTimeOffset"},"CookedSize":{"Length":2,"Height":1,"Width":3,"Volume":6,"@odata.type":"#DataJS.Tests.V4.CookedDimensions","[email protected]":"#Decimal","[email protected]":"#Int16","[email protected]":"#Int64","[email protected]":"#Double"},"AlternativeNames":["ground
 cereal","ground grain"],"Providers":[{"Name":"Flour 
Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001,"@odata.type":"#DataJS.Tests.V4.ProviderDetails","[email protected]":"#String","[email protected]":"#Int32"},"@odata.type":"#Collection(DataJS.Tests.V4.Provider)","[email protected]":"#String","[email protected]":"#Collection(String)"},{"Name":"Ground
 
Grains","Aliases":[],"Details":null,"@odata.type":"#Collection(DataJS.Tests.V4.Provider)","[email protected]":"#String","[email protected]":"#Collection(String)","[email protected]":"#DataJS.Tests.V4.ProviderDetails"}],"SpatialData":{"type":"GeometryC
 
ollection","geometries":[{"type":"Point","coordinates":[5,5]}],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"@odata.type":"#Edm.GeometryCollection"},"@odata.type":"#DataJS.Tests.V4.Food","@odata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)","@odata.editLink":"Foods(0)","[email protected]":"#Int32","[email protected]":"#String","[email protected]":"#Double","[email protected]":"#Decimal","[email protected]":"#String","[email protected]":"#Byte","[email protected]":"#Int16","[email protected]":"#Int32","[email protected]":"#Int64","[email protected]":"#Boolean","[email protected]":"#DateTimeOffset","[email protected]":"#Guid","[email protected]":"#Single","[email protected]":"#SByte","[email protected]":"#Collection(String)","[email protected]":"#Collection(DataJS.Tests.V4.Provider)"}
+},{
+  description: "Collection of Complex with metadata=minimal",
+  header:  "application/json;odata.metadata=minimal",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)/Providers",
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Providers","value":[{"Name":"Flour
 Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001}},{"Name":"Ground
 Grains","Aliases":[],"Details":null}]}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Providers","value":[{"Name":"Flour
 Provider","Aliases":["fp1","flour 
provider1"],"Details":{"Telephone":"555-555-555","PreferredCode":1001,"@odata.type":"#DataJS.Tests.V4.ProviderDetails","[email protected]":"#String","[email protected]":"#Int32"},"@odata.type":"#DataJS.Tests.V4.Provider","[email protected]":"#String","[email protected]":"#Collection(String)"},{"Name":"Ground
 
Grains","Aliases":[],"Details":null,"@odata.type":"#DataJS.Tests.V4.Provider","[email protected]":"#String","[email protected]":"#Collection(String)","[email protected]":"#DataJS.Tests.V4.ProviderDetails"}],"@odata.type":"#Collection(DataJS.Tests.V4.Provider)"}
+},{
+  description: "Collection of Simple with metadata=minimal",
+  header:  "application/json;odata.metadata=minimal",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)/AlternativeNames",
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/AlternativeNames","value":["ground
 cereal","ground grain"]}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/AlternativeNames","@odata.type":"#Collection(String)","value":["ground
 cereal","ground grain"]}
+},{
+  description: "Complex Property with metadata=minimal",
+  header:  "application/json;odata.metadata=minimal",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)/Packaging",
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Packaging","Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":79228162514264337593543950335,"Height":32767,"Width":9223372036854775807,"Volume":1.7976931348623157E+308}}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Packaging","Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"Length":7.922816251426434e+28,"Height":32767,"Width":9223372036854776000,"Volume":1.7976931348623157e+308,"@odata.type":"#DataJS.Tests.V4.Dimensions","[email protected]":"#Decimal","[email protected]":"#Int16","[email protected]":"#Int64","[email protected]":"#Double"},"@odata.type":"#DataJS.Tests.V4.Package","[email protected]":"#String","[email protected]":"#String","[email protected]":"#Int32","[email protected]":"#Boolean","[email protected]":"#DateTimeOffset"}
+},{
+  description: "Simple Property with metadata=minimal",
+  header:  "application/json;odata.metadata=minimal",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)/Name",
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Name","value":"flour"}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Name","value":"flour","[email protected]":"#String"}
+}];
+
+
+var testDataJsonParserMetadataFull = [{
+  description: "Feed with metadata=full",
+  header:  "application/json;odata.metadata=full",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods";,
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods","value":[{"@odata.type":"#DataJS.Tests.V4.Food","@odata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)","@odata.editLink":"Foods(0)","FoodID":0,"Name":"flour","UnitPrice":0.19999,"[email protected]":"#Decimal","ServingSize":1,"MeasurementUnit":"Cup","[email protected]":"#Byte","ProteinGrams":3,"[email protected]":"#Int16","FatGrams":1,"CarbohydrateGrams":20,"[email protected]":"#Int64","CaloriesPerServing":140,"IsAvailable":true,"[email protected]":"#DateTimeOffset","ExpirationDate":"2010-12-25T12:00:00Z","[email protected]":"#Guid","ItemGUID":"27272727-2727-2727-2727-272727272727","[email protected]":"#Single","Weight":10,"[email protected]":"#SByte","AvailableUnits":1,"Packaging":{"@odata.type":"#DataJS.Tests.V4.Package","Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration
 
":false,"[email protected]":"#DateTimeOffset","ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"@odata.type":"#DataJS.Tests.V4.Dimensions","[email protected]":"#Decimal","Length":79228162514264337593543950335,"[email protected]":"#Int16","Height":32767,"[email protected]":"#Int64","Width":9223372036854775807,"Volume":1.7976931348623157E+308}},"CookedSize":{"@odata.type":"#DataJS.Tests.V4.CookedDimensions","[email protected]":"#Decimal","Length":2,"[email protected]":"#Int16","Height":1,"[email protected]":"#Int64","Width":3,"Volume":6.0},"[email protected]":"#Collection(String)","AlternativeNames":["ground
 cereal","ground 
grain"],"[email protected]":"#Collection(DataJS.Tests.V4.Provider)","Providers":[{"@odata.type":"#DataJS.Tests.V4.Provider","Name":"Flour
 Provider","[email protected]":"#Collection(String)","Aliases":["fp1","flour 
provider1"],"Details":{"@odata.type":"#DataJS.Tests.V4.ProviderDetails","Telephone":"555-555-555","PreferredCode":1001}},{"@odata.typ
 e":"#DataJS.Tests.V4.Provider","Name":"Ground 
Grains","[email protected]":"#Collection(String)","Aliases":[],"Details":null}],"[email protected]":"#GeometryCollection","SpatialData":{"type":"GeometryCollection","geometries":[{"type":"Point","coordinates":[5.0,5.0]}],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"[email protected]":"Foods(0)/Category"},{"@odata.type":"#DataJS.Tests.V4.Food","@odata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(1)","@odata.editLink":"Foods(1)","FoodID":1,"Name":"sugar","UnitPrice":0.2,"[email protected]":"#Decimal","ServingSize":1,"MeasurementUnit":"tsp","[email protected]":"#Byte","ProteinGrams":0,"[email protected]":"#Int16","FatGrams":0,"CarbohydrateGrams":4,"[email protected]":"#Int64","CaloriesPerServing":16,"IsAvailable":false,"[email protected]":"#DateTimeOffset","ExpirationDate":"2011-12-28T00:00:00Z","[email protected]":"#Guid","ItemGUID":"ffffffff-f
 
fff-ffff-ffff-ffffffffffff","[email protected]":"#Single","Weight":0.1,"[email protected]":"#SByte","AvailableUnits":0,"Packaging":{"@odata.type":"#DataJS.Tests.V4.Package","Type":"
 
","Color":"BLUE","NumberPerPackage":-2147483648,"RequiresRefridgeration":true,"[email protected]":"#DateTimeOffset","ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"@odata.type":"#DataJS.Tests.V4.Dimensions","[email protected]":"#Decimal","Length":-79228162514264337593543950335,"[email protected]":"#Int16","Height":-32768,"[email protected]":"#Int64","Width":-9223372036854775808,"Volume":-1.7976931348623157E+308}},"CookedSize":null,"[email protected]":"#Collection(String)","AlternativeNames":[],"[email protected]":"#Collection(DataJS.Tests.V4.Provider)","Providers":[],"SpatialData":null,"[email protected]":"Foods(1)/Category"},{"@odata.type":"#DataJS.Tests.V4.Food","@odata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(2)","@odata.edit
 Link":"Foods(2)","FoodID":2,"Name":"1 Chicken 
Egg","UnitPrice":0.55,"[email protected]":"#Decimal","ServingSize":1,"MeasurementUnit":null,"[email protected]":"#Byte","ProteinGrams":6,"[email protected]":"#Int16","FatGrams":1,"CarbohydrateGrams":1,"[email protected]":"#Int64","CaloriesPerServing":70,"IsAvailable":true,"[email protected]":"#DateTimeOffset","ExpirationDate":"2000-12-29T00:00:00Z","[email protected]":"#Guid","ItemGUID":"00000000-0000-0000-0000-000000000000","[email protected]":"#Single","Weight":0,"[email protected]":"#SByte","AvailableUnits":-128,"Packaging":{"@odata.type":"#DataJS.Tests.V4.Package","Type":"18
     - Carton","Color":" brown 
","NumberPerPackage":0,"RequiresRefridgeration":true,"[email protected]":"#DateTimeOffset","ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":null},"CookedSize":null,"[email protected]":"#Collection(String)","AlternativeNames":[],"[email protected]":"#Collection(DataJS.Test
 
s.V4.Provider)","Providers":[],"SpatialData":null,"[email protected]":"Foods(2)/Category"},{"@odata.type":"#DataJS.Tests.V4.Food","@odata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(3)","@odata.editLink":"Foods(3)","FoodID":3,"Name":"Brown
 
Sugar","UnitPrice":1.6,"[email protected]":"#Decimal","ServingSize":1,"MeasurementUnit":"TSP.","[email protected]":"#Byte","ProteinGrams":0,"[email protected]":"#Int16","FatGrams":0,"CarbohydrateGrams":5,"[email protected]":"#Int64","CaloriesPerServing":16,"IsAvailable":true,"[email protected]":"#DateTimeOffset","ExpirationDate":"2011-12-28T00:00:00Z","[email protected]":"#Guid","ItemGUID":"01234567-89ab-cdef-0123-456789abcdef","[email protected]":"#Single","Weight":4.5,"[email protected]":"#SByte","AvailableUnits":127,"Packaging":null,"CookedSize":null,"[email protected]":"#Collection(String)","AlternativeNames":[],"[email protected]":"#Collection(
 
DataJS.Tests.V4.Provider)","Providers":[],"SpatialData":null,"[email protected]":"Foods(3)/Category"},{"@odata.type":"#DataJS.Tests.V4.PreparedFood","@odata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(4)","@odata.editLink":"Foods(4)/DataJS.Tests.V4.PreparedFood","FoodID":4,"Name":"Cobb
 
Salad","UnitPrice":1.99,"[email protected]":"#Decimal","ServingSize":-1,"MeasurementUnit":"cups","[email protected]":"#Byte","ProteinGrams":6,"[email protected]":"#Int16","FatGrams":1,"CarbohydrateGrams":3,"[email protected]":"#Int64","CaloriesPerServing":5,"IsAvailable":true,"[email protected]":"#DateTimeOffset","ExpirationDate":"2000-12-29T00:00:00Z","[email protected]":"#Guid","ItemGUID":"01234567-89ab-cdef-0123-456789abcdef","[email protected]":"#Single","Weight":5.674,"[email protected]":"#SByte","AvailableUnits":127,"Packaging":null,"CookedSize":null,"[email protected]":"#Collection(String)","Alterna
 
tiveNames":[],"[email protected]":"#Collection(DataJS.Tests.V4.Provider)","Providers":[],"SpatialData":null,"Instructions":"1.)
 Open 2.) 
Eat","[email protected]":"#Single","NumberOfIngredients":4,"[email protected]":"Foods(4)/DataJS.Tests.V4.PreparedFood/Category"}],"@odata.nextLink":"Foods?$skiptoken=4"}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods","value":[{"@odata.type":"#DataJS.Tests.V4.Food","@odata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)","@odata.editLink":"Foods(0)","FoodID":0,"Name":"flour","UnitPrice":0.19999,"[email protected]":"#Decimal","ServingSize":1,"MeasurementUnit":"Cup","[email protected]":"#Byte","ProteinGrams":3,"[email protected]":"#Int16","FatGrams":1,"CarbohydrateGrams":20,"[email protected]":"#Int64","CaloriesPerServing":140,"IsAvailable":true,"[email protected]":"#DateTimeOffset","ExpirationDate":"2010-12-25T12:00:00Z","[email protected]":"#Guid","ItemGUID":"27272727-2727-2727-2727-272727272727","[email protected]":"#Single","Weight":10,"[email protected]":"#SByte","AvailableUnits":1,"Packaging":{"@odata.type":"#DataJS.Tests.V4.Package","Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration
 
":false,"[email protected]":"#DateTimeOffset","ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"@odata.type":"#DataJS.Tests.V4.Dimensions","[email protected]":"#Decimal","Length":7.922816251426434e+28,"[email protected]":"#Int16","Height":32767,"[email protected]":"#Int64","Width":9223372036854776000,"Volume":1.7976931348623157e+308,"[email protected]":"#Int32"},"[email protected]":"#String","[email protected]":"#Int32","[email protected]":"#Boolean"},"CookedSize":{"@odata.type":"#DataJS.Tests.V4.CookedDimensions","[email protected]":"#Decimal","Length":2,"[email protected]":"#Int16","Height":1,"[email protected]":"#Int64","Width":3,"Volume":6,"[email protected]":"#Int32"},"[email protected]":"#Collection(String)","AlternativeNames":["ground
 cereal","ground 
grain"],"[email protected]":"#Collection(DataJS.Tests.V4.Provider)","Providers":[{"@odata.type":"#DataJS.Tests.V4.Provider","Name":"Flour
 Provider","[email protected]":"#Collection(Str
 ing)","Aliases":["fp1","flour 
provider1"],"Details":{"@odata.type":"#DataJS.Tests.V4.ProviderDetails","Telephone":"555-555-555","PreferredCode":1001,"[email protected]":"#String","[email protected]":"#Int32"},"[email protected]":"#String"},{"@odata.type":"#DataJS.Tests.V4.Provider","Name":"Ground
 
Grains","[email protected]":"#Collection(String)","Aliases":[],"Details":null,"[email protected]":"#String"}],"[email protected]":"#GeometryCollection","SpatialData":{"type":"GeometryCollection","geometries":[{"type":"Point","coordinates":[5,5],"[email protected]":"#String"}],"crs":{"type":"name","properties":{"name":"EPSG:4326","[email protected]":"#String"},"[email protected]":"#String"},"[email protected]":"#String"},"[email protected]":"Foods(0)/Category","[email protected]":"#Int32","[email protected]":"#String","[email protected]":"#Decimal","[email protected]":"#String","[email protected]":"#Int32","[email protected]":"#Boolean"},{"@odata.typ
 
e":"#DataJS.Tests.V4.Food","@odata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(1)","@odata.editLink":"Foods(1)","FoodID":1,"Name":"sugar","UnitPrice":0.2,"[email protected]":"#Decimal","ServingSize":1,"MeasurementUnit":"tsp","[email protected]":"#Byte","ProteinGrams":0,"[email protected]":"#Int16","FatGrams":0,"CarbohydrateGrams":4,"[email protected]":"#Int64","CaloriesPerServing":16,"IsAvailable":false,"[email protected]":"#DateTimeOffset","ExpirationDate":"2011-12-28T00:00:00Z","[email protected]":"#Guid","ItemGUID":"ffffffff-ffff-ffff-ffff-ffffffffffff","[email protected]":"#Single","Weight":0.1,"[email protected]":"#SByte","AvailableUnits":0,"Packaging":{"@odata.type":"#DataJS.Tests.V4.Package","Type":"
 
","Color":"BLUE","NumberPerPackage":-2147483648,"RequiresRefridgeration":true,"[email protected]":"#DateTimeOffset","ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"@odata.type":"#DataJS.Tests.V4.
 
Dimensions","[email protected]":"#Decimal","Length":-7.922816251426434e+28,"[email protected]":"#Int16","Height":-32768,"[email protected]":"#Int64","Width":-9223372036854776000,"Volume":-1.7976931348623157e+308,"[email protected]":"#Int32"},"[email protected]":"#String","[email protected]":"#String","[email protected]":"#Int32","[email protected]":"#Boolean"},"CookedSize":null,"[email protected]":"#Collection(String)","AlternativeNames":[],"[email protected]":"#Collection(DataJS.Tests.V4.Provider)","Providers":[],"SpatialData":null,"[email protected]":"Foods(1)/Category","[email protected]":"#Int32","[email protected]":"#String","[email protected]":"#Decimal","[email protected]":"#String","[email protected]":"#Int32","[email protected]":"#Boolean"},{"@odata.type":"#DataJS.Tests.V4.Food","@odata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(2)","@odata.editLink":"Foods(2)","FoodID"
 :2,"Name":"1 Chicken 
Egg","UnitPrice":0.55,"[email protected]":"#Decimal","ServingSize":1,"MeasurementUnit":null,"[email protected]":"#Byte","ProteinGrams":6,"[email protected]":"#Int16","FatGrams":1,"CarbohydrateGrams":1,"[email protected]":"#Int64","CaloriesPerServing":70,"IsAvailable":true,"[email protected]":"#DateTimeOffset","ExpirationDate":"2000-12-29T00:00:00Z","[email protected]":"#Guid","ItemGUID":"00000000-0000-0000-0000-000000000000","[email protected]":"#Single","Weight":0,"[email protected]":"#SByte","AvailableUnits":-128,"Packaging":{"@odata.type":"#DataJS.Tests.V4.Package","Type":"18
     - Carton","Color":" brown 
","NumberPerPackage":0,"RequiresRefridgeration":true,"[email protected]":"#DateTimeOffset","ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":null,"[email protected]":"#String","[email protected]":"#String","[email protected]":"#Int32","[email protected]":"#Boolean"},"CookedSize":null,"Al
 
[email protected]":"#Collection(String)","AlternativeNames":[],"[email protected]":"#Collection(DataJS.Tests.V4.Provider)","Providers":[],"SpatialData":null,"[email protected]":"Foods(2)/Category","[email protected]":"#Int32","[email protected]":"#String","[email protected]":"#Decimal","[email protected]":"#Int32","[email protected]":"#Boolean"},{"@odata.type":"#DataJS.Tests.V4.Food","@odata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(3)","@odata.editLink":"Foods(3)","FoodID":3,"Name":"Brown
 
Sugar","UnitPrice":1.6,"[email protected]":"#Decimal","ServingSize":1,"MeasurementUnit":"TSP.","[email protected]":"#Byte","ProteinGrams":0,"[email protected]":"#Int16","FatGrams":0,"CarbohydrateGrams":5,"[email protected]":"#Int64","CaloriesPerServing":16,"IsAvailable":true,"[email protected]":"#DateTimeOffset","ExpirationDate":"2011-12-28T00:00:00Z","[email protected]":"#Guid","ItemGUID":
 
"01234567-89ab-cdef-0123-456789abcdef","[email protected]":"#Single","Weight":4.5,"[email protected]":"#SByte","AvailableUnits":127,"Packaging":null,"CookedSize":null,"[email protected]":"#Collection(String)","AlternativeNames":[],"[email protected]":"#Collection(DataJS.Tests.V4.Provider)","Providers":[],"SpatialData":null,"[email protected]":"Foods(3)/Category","[email protected]":"#Int32","[email protected]":"#String","[email protected]":"#Decimal","[email protected]":"#String","[email protected]":"#Int32","[email protected]":"#Boolean"},{"@odata.type":"#DataJS.Tests.V4.PreparedFood","@odata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(4)","@odata.editLink":"Foods(4)/DataJS.Tests.V4.PreparedFood","FoodID":4,"Name":"Cobb
 
Salad","UnitPrice":1.99,"[email protected]":"#Decimal","ServingSize":-1,"MeasurementUnit":"cups","[email protected]":"#Byte","ProteinGrams":6,"[email protected]":
 
"#Int16","FatGrams":1,"CarbohydrateGrams":3,"[email protected]":"#Int64","CaloriesPerServing":5,"IsAvailable":true,"[email protected]":"#DateTimeOffset","ExpirationDate":"2000-12-29T00:00:00Z","[email protected]":"#Guid","ItemGUID":"01234567-89ab-cdef-0123-456789abcdef","[email protected]":"#Single","Weight":5.674,"[email protected]":"#SByte","AvailableUnits":127,"Packaging":null,"CookedSize":null,"[email protected]":"#Collection(String)","AlternativeNames":[],"[email protected]":"#Collection(DataJS.Tests.V4.Provider)","Providers":[],"SpatialData":null,"Instructions":"1.)
 Open 2.) 
Eat","[email protected]":"#Single","NumberOfIngredients":4,"[email protected]":"Foods(4)/DataJS.Tests.V4.PreparedFood/Category","[email protected]":"#Int32","[email protected]":"#String","[email protected]":"#Decimal","[email protected]":"#String","[email protected]":"#Int32","[email protected]":"#Boolean","Instru
 [email protected]":"#String"}],"@odata.nextLink":"Foods?$skiptoken=4"}
+},{
+  description: "Entry with metadata=full",
+  header:  "application/json;odata.metadata=full",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)",
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods/$entity","@odata.type":"#DataJS.Tests.V4.Food","@odata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)","@odata.editLink":"Foods(0)","FoodID":0,"Name":"flour","UnitPrice":0.19999,"[email protected]":"#Decimal","ServingSize":1,"MeasurementUnit":"Cup","[email protected]":"#Byte","ProteinGrams":3,"[email protected]":"#Int16","FatGrams":1,"CarbohydrateGrams":20,"[email protected]":"#Int64","CaloriesPerServing":140,"IsAvailable":true,"[email protected]":"#DateTimeOffset","ExpirationDate":"2010-12-25T12:00:00Z","[email protected]":"#Guid","ItemGUID":"27272727-2727-2727-2727-272727272727","[email protected]":"#Single","Weight":10,"[email protected]":"#SByte","AvailableUnits":1,"Packaging":{"@odata.type":"#DataJS.Tests.V4.Package","Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":
 
false,"[email protected]":"#DateTimeOffset","ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"@odata.type":"#DataJS.Tests.V4.Dimensions","[email protected]":"#Decimal","Length":79228162514264337593543950335,"[email protected]":"#Int16","Height":32767,"[email protected]":"#Int64","Width":9223372036854775807,"Volume":1.7976931348623157E+308}},"CookedSize":{"@odata.type":"#DataJS.Tests.V4.CookedDimensions","[email protected]":"#Decimal","Length":2,"[email protected]":"#Int16","Height":1,"[email protected]":"#Int64","Width":3,"Volume":6.0},"[email protected]":"#Collection(String)","AlternativeNames":["ground
 cereal","ground 
grain"],"[email protected]":"#Collection(DataJS.Tests.V4.Provider)","Providers":[{"@odata.type":"#DataJS.Tests.V4.Provider","Name":"Flour
 Provider","[email protected]":"#Collection(String)","Aliases":["fp1","flour 
provider1"],"Details":{"@odata.type":"#DataJS.Tests.V4.ProviderDetails","Telephone":"555-555-555","PreferredCode":1001}},{"@odata.type"
 :"#DataJS.Tests.V4.Provider","Name":"Ground 
Grains","[email protected]":"#Collection(String)","Aliases":[],"Details":null}],"[email protected]":"#GeometryCollection","SpatialData":{"type":"GeometryCollection","geometries":[{"type":"Point","coordinates":[5.0,5.0]}],"crs":{"type":"name","properties":{"name":"EPSG:4326"}}},"[email protected]":"Foods(0)/Category"}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods/$entity","@odata.type":"#DataJS.Tests.V4.Food","@odata.id":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)","@odata.editLink":"Foods(0)","FoodID":0,"Name":"flour","UnitPrice":0.19999,"[email protected]":"#Decimal","ServingSize":1,"MeasurementUnit":"Cup","[email protected]":"#Byte","ProteinGrams":3,"[email protected]":"#Int16","FatGrams":1,"CarbohydrateGrams":20,"[email protected]":"#Int64","CaloriesPerServing":140,"IsAvailable":true,"[email protected]":"#DateTimeOffset","ExpirationDate":"2010-12-25T12:00:00Z","[email protected]":"#Guid","ItemGUID":"27272727-2727-2727-2727-272727272727","[email protected]":"#Single","Weight":10,"[email protected]":"#SByte","AvailableUnits":1,"Packaging":{"@odata.type":"#DataJS.Tests.V4.Package","Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":
 
false,"[email protected]":"#DateTimeOffset","ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"@odata.type":"#DataJS.Tests.V4.Dimensions","[email protected]":"#Decimal","Length":7.922816251426434e+28,"[email protected]":"#Int16","Height":32767,"[email protected]":"#Int64","Width":9223372036854776000,"Volume":1.7976931348623157e+308,"[email protected]":"#Int32"},"[email protected]":"#String","[email protected]":"#Int32","[email protected]":"#Boolean"},"CookedSize":{"@odata.type":"#DataJS.Tests.V4.CookedDimensions","[email protected]":"#Decimal","Length":2,"[email protected]":"#Int16","Height":1,"[email protected]":"#Int64","Width":3,"Volume":6,"[email protected]":"#Int32"},"[email protected]":"#Collection(String)","AlternativeNames":["ground
 cereal","ground 
grain"],"[email protected]":"#Collection(DataJS.Tests.V4.Provider)","Providers":[{"@odata.type":"#DataJS.Tests.V4.Provider","Name":"Flour
 Provider","[email protected]":"#Collection(Strin
 g)","Aliases":["fp1","flour 
provider1"],"Details":{"@odata.type":"#DataJS.Tests.V4.ProviderDetails","Telephone":"555-555-555","PreferredCode":1001,"[email protected]":"#String","[email protected]":"#Int32"},"[email protected]":"#String"},{"@odata.type":"#DataJS.Tests.V4.Provider","Name":"Ground
 
Grains","[email protected]":"#Collection(String)","Aliases":[],"Details":null,"[email protected]":"#String"}],"[email protected]":"#GeometryCollection","SpatialData":{"type":"GeometryCollection","geometries":[{"type":"Point","coordinates":[5,5],"[email protected]":"#String"}],"crs":{"type":"name","properties":{"name":"EPSG:4326","[email protected]":"#String"},"[email protected]":"#String"},"[email protected]":"#String"},"[email protected]":"Foods(0)/Category","[email protected]":"#Int32","[email protected]":"#String","[email protected]":"#Decimal","[email protected]":"#String","[email protected]":"#Int32","[email protected]":"#Boolean"}
+},{
+  description: "Collection of Complex with metadata=full",
+  header:  "application/json;odata.metadata=full",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)/Providers",
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Providers","@odata.type":"#Collection(DataJS.Tests.V4.Provider)","value":[{"@odata.type":"#DataJS.Tests.V4.Provider","Name":"Flour
 Provider","[email protected]":"#Collection(String)","Aliases":["fp1","flour 
provider1"],"Details":{"@odata.type":"#DataJS.Tests.V4.ProviderDetails","Telephone":"555-555-555","PreferredCode":1001}},{"@odata.type":"#DataJS.Tests.V4.Provider","Name":"Ground
 
Grains","[email protected]":"#Collection(String)","Aliases":[],"Details":null}]}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Providers","@odata.type":"#Collection(DataJS.Tests.V4.Provider)","value":[{"@odata.type":"#DataJS.Tests.V4.Provider","Name":"Flour
 Provider","[email protected]":"#Collection(String)","Aliases":["fp1","flour 
provider1"],"Details":{"@odata.type":"#DataJS.Tests.V4.ProviderDetails","Telephone":"555-555-555","PreferredCode":1001,"[email protected]":"#String","[email protected]":"#Int32"},"[email protected]":"#String"},{"@odata.type":"#DataJS.Tests.V4.Provider","Name":"Ground
 
Grains","[email protected]":"#Collection(String)","Aliases":[],"Details":null,"[email protected]":"#String"}]}
+},{
+  description: "Collection of Simple with metadata=full",
+  header:  "application/json;odata.metadata=full",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)/AlternativeNames",
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/AlternativeNames","@odata.type":"#Collection(String)","value":["ground
 cereal","ground grain"]}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/AlternativeNames","@odata.type":"#Collection(String)","value":["ground
 cereal","ground grain"]}
+},{
+  description: "Complex Property with metadata=full",
+  header:  "application/json;odata.metadata=full",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)/Packaging",
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Packaging","@odata.type":"#DataJS.Tests.V4.Package","Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"[email protected]":"#DateTimeOffset","ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"@odata.type":"#DataJS.Tests.V4.Dimensions","[email protected]":"#Decimal","Length":79228162514264337593543950335,"[email protected]":"#Int16","Height":32767,"[email protected]":"#Int64","Width":9223372036854775807,"Volume":1.7976931348623157E+308}}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Packaging","@odata.type":"#DataJS.Tests.V4.Package","Type":null,"Color":"","NumberPerPackage":2147483647,"RequiresRefridgeration":false,"[email protected]":"#DateTimeOffset","ShipDate":"2000-12-29T00:00:00Z","PackageDimensions":{"@odata.type":"#DataJS.Tests.V4.Dimensions","[email protected]":"#Decimal","Length":7.922816251426434e+28,"[email protected]":"#Int16","Height":32767,"[email protected]":"#Int64","Width":9223372036854776000,"Volume":1.7976931348623157e+308,"[email protected]":"#Int32"},"[email protected]":"#String","[email protected]":"#Int32","[email protected]":"#Boolean"}
+},{
+  description: "Simple Property with metadata=full",
+  header:  "application/json;odata.metadata=full",
+  usedUrl: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/Foods(0)/Name",
+  input:   
'{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Name","value":"flour"}',
+  expected: 
{"@odata.context":"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata#Foods(0)/Name","value":"flour","[email protected]":"#String"}
+}];
+
+
+var callTestNoMetadata = function(testData) {
+  var testData = testData;
+  it(testData.description, function (done) {
+    var request = {
+        requestUri : testData.usedUrl,
+        headers :  {
+          Accept : testData.header
+        }
+    };
+
+    var success = function success(data) {
+      assert.deepEqual(data, testData.expected, "test '" + 
testData.description + "' didn't return the expected data");
+      done();
+    };
+
+    var errorFunc = function errorFunc(err) {
+      assert.fail('errorFunc','success', 'success should called');
+      done(err);
+    };
+   
+     odatajs.oData.read(request, success, errorFunc);
+  });
+};
+
+var callTestMetadata = function(testData,metadataContainer) {
+  
+  var testData = testData;
+  it(testData.description, function (done) {
+    
+    var request = {
+        requestUri : testData.usedUrl,
+        headers :  {
+          Accept : testData.header
+        }
+    };
+
+    var success = function success(data) {
+      assert.deepEqual(data, testData.expected, "test '" + 
testData.description + "' didn't return the expected data");
+      done();
+    };
+
+    var errorFunc = function errorFunc(err) {
+      done(err);
+    };
+ 
+  odatajs.oData.read(request, success, errorFunc, null, null, 
metadataContainer.metadata);
+  });
+};
+
+describe('TEST Scenario (needs c# test server on localhost:4002)', function() {
+
+    describe('with odata.metadata=none', function() {
+        for( var i = 0; i < testDataJsonParserMetadataNone.length;i++) {
+          
+            callTestNoMetadata(testDataJsonParserMetadataNone[i]);
+
+        }
+    });
+
+    describe('with odata.metadata=minimal', function() {
+        for( var i = 0; i < testDataJsonParserMetadataMinimal.length;i++) {
+            callTestNoMetadata(testDataJsonParserMetadataMinimal[i]);
+        }
+    });
+
+
+
+
+    describe('with odata.metadata=minimal to full', function() {
+      var metadataContainer = {};
+
+      function errorFunc(err) {
+            assert.fail('errorFunc','success', 'success should called');
+            //done(err);
+      }
+
+      before('load Metadata',function(done) {
+        var metaDatasuccess = function(lmetadata){
+            
+            metadataContainer.metadata = lmetadata;
+            done();
+        };
+        var oHeaders = {
+                    'Accept': 
'text/html,application/xhtml+xml,application/xml,application/json;odata.metadata=full',
+                    "Odata-Version": "4.0",
+                    "OData-MaxVersion": "4.0",
+                    "Prefer": "odata.allow-entityreferences"
+                };
+        var metadataRequest =
+        {
+            headers: oHeaders,
+            requestUri: 
"http://localhost:4002/tests/endpoints/FoodStoreDataServiceV4.svc/$metadata";, 
+            data: null,
+        };
+
+        odatajs.oData.read(metadataRequest, metaDatasuccess, 
errorFunc,odatajs.oData.metadataHandler);
+      });
+
+      for( var i = 0; i < testDataJsonParserMetadataMinimalToFull.length;i++) {
+            
callTestMetadata(testDataJsonParserMetadataMinimalToFull[i],metadataContainer);
+      }
+    });
+
+    describe('with odata.metadata=full', function() {
+        for( var i = 0; i < testDataJsonParserMetadataFull.length;i++) {
+            callTestNoMetadata(testDataJsonParserMetadataFull[i]);
+        }
+    });
+});
+
+

Reply via email to