| function assert(actual, expected) { |
| if (actual !== expected) |
| throw new Error('bad value: ' + actual); |
| } |
| |
| var priceRanges = { |
| "1": 0.6, |
| "100": 0.45, |
| "250": 0.3, |
| "2000": 0.28 |
| }; |
| |
| assert(Object.keys(priceRanges).length, 4); |
| assert(Object.values(priceRanges).length, 4); |
| assert(priceRanges[1], 0.6); |
| assert(priceRanges[100], 0.45); |
| assert(priceRanges[250], 0.3); |
| assert(priceRanges[2000], 0.28); |
| |
| var ranges = { |
| "250" : 0.5, |
| "1000": 0.1 |
| }; |
| |
| assert(Object.keys(ranges).length, 2); |
| assert(Object.values(ranges).length, 2); |
| assert(ranges[250], 0.5); |
| assert(ranges[1000], 0.1); |
| |
| var r = {}; |
| |
| r[250] = 0.1; |
| r[1001] = 0.5; |
| |
| assert(Object.keys(r).length, 2); |
| assert(Object.values(ranges).length, 2); |
| |
| assert(r[250], 0.1); |
| assert(r[1001], 0.5); |
| |
| var foo = {}; |
| |
| foo[100] = NaN; |
| foo[250] = 0.1; |
| foo[260] = NaN; |
| foo[1000] = 0.5; |
| |
| assert(Object.keys(foo).length, 4); |
| assert(Object.values(foo).length, 4); |
| assert(isNaN(foo[100]), true); |
| assert(foo[250], 0.1); |
| assert(isNaN(foo[260]), true); |
| assert(foo[1000], 0.5); |
| |
| var boo = function () { |
| return { |
| "250": 0.2, |
| "1000": 0.1 |
| }; |
| }; |
| |
| for (var i = 0; i < 10000; i++) { |
| const b = boo(); |
| const keys = Object.keys(b); |
| const values = Object.values(b); |
| |
| assert(keys.length, 2); |
| assert(values.length, 2); |
| |
| assert(b[keys[0]], values[0]); |
| assert(b[keys[1]], values[1]); |
| } |
| |
| var baz = { |
| "250": "A", |
| "1001": "B" |
| }; |
| |
| assert(Object.keys(baz).length, 2); |
| assert(Object.values(baz).length, 2); |
| assert(baz[250], "A"); |
| assert(baz[1001], "B"); |
| |
| var bar = JSON.parse('{"0":97.1,"1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}'); |
| |
| assert(Object.keys(bar).length, 5); |
| assert(bar[0], 97.1); |
| assert(bar[1000], 96.5); |
| assert(bar[2000], 96.1); |
| assert(bar[3000], 97.4); |
| assert(bar[4000], 90.4); |
| |
| bar = JSON.parse('{"0":97.1, "250": 65.3, "1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}'); |
| |
| assert(Object.keys(bar).length, 6); |
| |
| assert(bar[0], 97.1); |
| assert(bar[250], 65.3); |
| assert(bar[1000], 96.5); |
| assert(bar[2000], 96.1); |
| assert(bar[3000], 97.4); |
| assert(bar[4000], 90.4); |
| |
| bar = JSON.parse('{"0":97.1, "250": null, "1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}'); |
| |
| assert(Object.keys(bar).length, 6); |
| |
| assert(bar[0], 97.1); |
| assert(bar[250], null); |
| assert(bar[1000], 96.5); |
| assert(bar[2000], 96.1); |
| assert(bar[3000], 97.4); |
| assert(bar[4000], 90.4); |
| |
| |
| bar = eval('(()=>({"0":97.1, "250": 65.3, "1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}))();'); |
| |
| assert(Object.keys(bar).length, 6); |
| |
| assert(bar[0], 97.1); |
| assert(bar[250], 65.3); |
| assert(bar[1000], 96.5); |
| assert(bar[2000], 96.1); |
| assert(bar[3000], 97.4); |
| assert(bar[4000], 90.4); |
| |
| bar = eval('(()=>({"0":97.1, "250": null, "1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}))();'); |
| |
| assert(Object.keys(bar).length, 6); |
| |
| assert(bar[0], 97.1); |
| assert(bar[250], null); |
| assert(bar[1000], 96.5); |
| assert(bar[2000], 96.1); |
| assert(bar[3000], 97.4); |
| assert(bar[4000], 90.4); |
| |
| |
| bar = eval('(()=>({"0":97.1, "250": NaN, "1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}))();'); |
| |
| assert(Object.keys(bar).length, 6); |
| |
| assert(bar[0], 97.1); |
| assert(isNaN(bar[250]), true); |
| assert(bar[1000], 96.5); |
| assert(bar[2000], 96.1); |
| assert(bar[3000], 97.4); |
| assert(bar[4000], 90.4); |