{"action":"created","issue":{"url":"https://api.github.com/repos/agershun/alasql/issues/479","labels_url":"https://api.github.com/repos/agershun/alasql/issues/479/labels{/name}","comments_url":"https://api.github.com/repos/agershun/alasql/issues/479/comments","events_url":"https://api.github.com/repos/agershun/alasql/issues/479/events","html_url":"https://github.com/agershun/alasql/issues/479","id":120066856,"number":479,"title":"query UPDATE throw error","user":{"login":"kakarias","id":6174039,"avatar_url":"https://avatars.githubusercontent.com/u/6174039?v=3","gravatar_id":"","url":"https://api.github.com/users/kakarias","html_url":"https://github.com/kakarias","followers_url":"https://api.github.com/users/kakarias/followers","following_url":"https://api.github.com/users/kakarias/following{/other_user}","gists_url":"https://api.github.com/users/kakarias/gists{/gist_id}","starred_url":"https://api.github.com/users/kakarias/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kakarias/subscriptions","organizations_url":"https://api.github.com/users/kakarias/orgs","repos_url":"https://api.github.com/users/kakarias/repos","events_url":"https://api.github.com/users/kakarias/events{/privacy}","received_events_url":"https://api.github.com/users/kakarias/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-12-03T00:29:16Z","updated_at":"2015-12-03T09:16:29Z","closed_at":null,"body":"Hi,\r\ni created table like this\r\n\r\n```js\r\nsqldb.exec(\r\n            'CREATE TABLE RpdAssignments (' +\r\n            'Id INT PRIMARY KEY AUTOINCREMENT NOT NULL,' +\r\n            'Name TEXT NOT NULL,' +\r\n            'RpdId TEXT NOT NULL,' +\r\n            'VcmtsService TEXT NOT NULL,' +\r\n            'Status TEXT NOT NULL' +\r\n            ')'\r\n        );\r\n```\r\nend when i try to UPDATE items in the table i get an error all the time \r\n\r\n```\r\nUncaught Error - TypeError: Cannot set property 'Name' of undefined , stack: TypeError: Cannot set property 'Name' of undefined\r\n\r\nat cloneDeep (../node_modules/alasql/dist/alasql.js:3668:23)\r\n    at [object Object].table.update (../node_modules/alasql/dist/alasql.js:11807:11)\r\n    at statement (../node_modules/alasql/dist/alasql.js:13548:12)\r\n    at Function.alasql.dexec (../node_modules/alasql/dist/alasql.js:4240:27)\r\n    at [object Object].Database.exec (../node_modules/alasql/dist/alasql.js:4625:16)\r\n```\r\n\r\ni traced all steps and i think that problem is in deepClone on row \r\n`var temp = obj.constructor(); // changed`\r\n\r\nbefore this command everything is ok and obj has right prop with values, but after this command, i dont  know why, but obj lost all prop values -> set to UNDEFINED and after this give me the error, if i comment the line and replace it just with this\r\n`var temp = {}`\r\neverything is ok and update is successful. Can you help me somebody with this?? i dont wanna comment something in orig file.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/agershun/alasql/issues/comments/161559763","html_url":"https://github.com/agershun/alasql/issues/479#issuecomment-161559763","issue_url":"https://api.github.com/repos/agershun/alasql/issues/479","id":161559763,"user":{"login":"mathiasrw","id":1063454,"avatar_url":"https://avatars.githubusercontent.com/u/1063454?v=3","gravatar_id":"","url":"https://api.github.com/users/mathiasrw","html_url":"https://github.com/mathiasrw","followers_url":"https://api.github.com/users/mathiasrw/followers","following_url":"https://api.github.com/users/mathiasrw/following{/other_user}","gists_url":"https://api.github.com/users/mathiasrw/gists{/gist_id}","starred_url":"https://api.github.com/users/mathiasrw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mathiasrw/subscriptions","organizations_url":"https://api.github.com/users/mathiasrw/orgs","repos_url":"https://api.github.com/users/mathiasrw/repos","events_url":"https://api.github.com/users/mathiasrw/events{/privacy}","received_events_url":"https://api.github.com/users/mathiasrw/received_events","type":"User","site_admin":false},"created_at":"2015-12-03T09:16:29Z","updated_at":"2015-12-03T09:16:29Z","body":"Hi @kakarias - thanks for looking so deep into this. \r\n\r\nReplacing `var temp = obj.constructor(); // changed` with `var temp = {}` in\r\n\r\nhttps://github.com/agershun/alasql/blob/324a8c07ee5739477779e7bae222f3f9ef17ee21/src/15utility.js#L713\r\n\r\ngave 79 failing tests so it is not a good solution. I would love to see what data you update and how to help you out.\r\n\r\n```\r\n 79 failing\r\n\r\n  1) Test 289 SEARCH INSTANCEOF 2. SEARCH:\r\n     AssertionError: { statements: \r\n   [ { columns: \r\n        [ { left: \r\n             { aggregatorid: 'SUM',\r\n               expression: { columnid: 'x deepEqual [ 'SUM' ]\r\n      at Context.<anonymous> (test289.js:26:12)\r\n\r\n  2) Test 300 SEARCH 1. Search fruits:\r\n     AssertionError: { Europe: { fruits: [ { fruit: 'Apple' }, { fruit: 'Peach' } ] },\r\n  Asia: { fruit: 'Pineapple' },\r\n  Africa: { fruit: 'Banana' }  deepEqual [ { fruits: [ { fruit: 'Apple' }, { fruit: 'Peach' } ] } ]\r\n      at Context.<anonymous> (test300.js:27:12)\r\n\r\n  3) Test 300 SEARCH 2. Search fruits 2:\r\n     AssertionError: { Europe: { fruits: [ { fruit: 'Apple' }, { fruit: 'Peach' } ] },\r\n  Asia: { fruit: 'Pineapple' },\r\n  Africa: { fruit: 'Banana' }  deepEqual [ { fruit: 'Apple' }, { fruit: 'Peach' } ]\r\n      at Context.<anonymous> (test300.js:37:12)\r\n\r\n  4) Test 300 SEARCH 3. Search fruits:\r\n     AssertionError: { Europe: { fruits: [ { fruit: 'Apple' }, { fruit: 'Peach' } ] },\r\n  Asia: { fruit: 'Pineapple' },\r\n  Africa: { fruit: 'Banana' }  deepEqual [ { fruit: 'Apple' } ]\r\n      at Context.<anonymous> (test300.js:47:12)\r\n\r\n  5) Test 303 SEARCH over JSON 2. PROP() Selector:\r\n     AssertionError: { name: 'John' } deepEqual [ 'John' ]\r\n      at Context.<anonymous> (test303.js:32:12)\r\n\r\n  6) Test 303 SEARCH over JSON 3. Basic Selector:\r\n     AssertionError: 1 deepEqual [ 2 ]\r\n      at Context.<anonymous> (test303.js:48:12)\r\n\r\n  7) Test 303 SEARCH over JSON 4. CHILD() and KEYS() selectors:\r\n     AssertionError: { a: 1, b: 2 } deepEqual [ 1, 2 ]\r\n      at Context.<anonymous> (test303.js:65:12)\r\n\r\n  8) Test 303 SEARCH over JSON 4. Test expression:\r\n\r\n      AssertionError: [ { name: 'John', age: 25 }, { name: 'Mary', age: 18 } ] deepEqual [ 25 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"age\": 25\r\n      -    \"name\": \"John\"\r\n      -  }\r\n      -  {\r\n      -    \"age\": 18\r\n      -    \"name\": \"Mary\"\r\n      -  }\r\n      +  25\r\n       ]\r\n      \r\n      at Context.<anonymous> (test303.js:85:12)\r\n\r\n  9) Test 303 SEARCH over JSON 5. Transform expression:\r\n\r\n      AssertionError: [ { name: 'John', age: 25 }, { name: 'Mary', age: 18 } ] deepEqual [ 50, 36 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"age\": 25\r\n      -    \"name\": \"John\"\r\n      -  }\r\n      -  {\r\n      -    \"age\": 18\r\n      -    \"name\": \"Mary\"\r\n      -  }\r\n      +  50\r\n      +  36\r\n       ]\r\n      \r\n      at Context.<anonymous> (test303.js:95:12)\r\n\r\n  10) Test 303 SEARCH over JSON 6. AS function :\r\n\r\n      AssertionError: [ { name: 'John', age: 25 }, { name: 'Mary', age: 18 } ] deepEqual [ 29, 22 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"age\": 25\r\n      -    \"name\": \"John\"\r\n      -  }\r\n      -  {\r\n      -    \"age\": 18\r\n      -    \"name\": \"Mary\"\r\n      -  }\r\n      +  29\r\n      +  22\r\n       ]\r\n      \r\n      at Context.<anonymous> (test303.js:108:12)\r\n\r\n  11) Test 305 CREATE GRAPH 7. CREATE GRAPH:\r\n     AssertionError: { '0': \r\n   { '$id': 0,\r\n     '$node': 'EDGE',\r\n     '$in': [ 'Andrey' ],\r\n     '$out': [ 'Olga' ] },\r\n  '1': \r\n   { '$id': 1,\r\n     '$ deepEqual [ 63 ]\r\n      at Context.<anonymous> (test305.js:44:12)\r\n\r\n  12) Test 305 CREATE GRAPH 8. CREATE GRAPH:\r\n     AssertionError: { '0': \r\n   { '$id': 0,\r\n     '$node': 'EDGE',\r\n     '$in': [ 'Andrey' ],\r\n     '$out': [ 'Olga' ] },\r\n  '1': \r\n   { '$id': 1,\r\n     '$ deepEqual [ 63 ]\r\n      at Context.<anonymous> (test305.js:49:12)\r\n\r\n  13) Test 305 CREATE GRAPH 9. CREATE GRAPH:\r\n     AssertionError: { '0': \r\n   { '$id': 0,\r\n     '$node': 'EDGE',\r\n     '$in': [ 'Andrey' ],\r\n     '$out': [ 'Olga' ] },\r\n  '1': \r\n   { '$id': 1,\r\n     '$ deepEqual [ 'Olga Ivanova' ]\r\n      at Context.<anonymous> (test305.js:55:12)\r\n\r\n  14) Test 305 CREATE GRAPH 10. CREATE GRAPH:\r\n     AssertionError: { '0': \r\n   { '$id': 0,\r\n     '$node': 'EDGE',\r\n     '$in': [ 'Andrey' ],\r\n     '$out': [ 'Olga' ] },\r\n  '1': \r\n   { '$id': 1,\r\n     '$ deepEqual [ 'John' ]\r\n      at Context.<anonymous> (test305.js:61:12)\r\n\r\n  15) Test 305 CREATE GRAPH 11. CREATE GRAPH:\r\n     AssertionError: { '0': \r\n   { '$id': 0,\r\n     '$node': 'EDGE',\r\n     '$in': [ 'Andrey' ],\r\n     '$out': [ 'Olga' ] },\r\n  '1': \r\n   { '$id': 1,\r\n     '$ deepEqual [ 'Olga Ivanova', 'John' ]\r\n      at Context.<anonymous> (test305.js:67:12)\r\n\r\n  16) Test 305 CREATE GRAPH 12. CREATE GRAPH:\r\n     AssertionError: { '0': \r\n   { '$id': 0,\r\n     '$node': 'EDGE',\r\n     '$in': [ 'Andrey' ],\r\n     '$out': [ 'Olga' ] },\r\n  '1': \r\n   { '$id': 1,\r\n     '$ deepEqual [ 'Andrey', 'Olga Ivanova', 'John' ]\r\n      at Context.<anonymous> (test305.js:73:12)\r\n\r\n  17) Test 305 CREATE GRAPH 13. CREATE GRAPH:\r\n     AssertionError: { '0': \r\n   { '$id': 0,\r\n     '$node': 'EDGE',\r\n     '$in': [ 'Andrey' ],\r\n     '$out': [ 'Olga' ] },\r\n  '1': \r\n   { '$id': 1,\r\n     '$ deepEqual [ 63 ]\r\n      at Context.<anonymous> (test305.js:79:12)\r\n\r\n  18) Test 305 CREATE GRAPH 14. CREATE GRAPH:\r\n     AssertionError: { '0': \r\n   { '$id': 0,\r\n     '$node': 'EDGE',\r\n     '$in': [ 'Andrey' ],\r\n     '$out': [ 'Olga' ] },\r\n  '1': \r\n   { '$id': 1,\r\n     '$ deepEqual [ 63, 44, 25 ]\r\n      at Context.<anonymous> (test305.js:85:12)\r\n\r\n  19) Test 305 CREATE GRAPH 15. CREATE GRAPH:\r\n     AssertionError: { '0': \r\n   { '$id': 0,\r\n     '$node': 'EDGE',\r\n     '$in': [ 'Andrey' ],\r\n     '$out': [ 'Olga' ] },\r\n  '1': \r\n   { '$id': 1,\r\n     '$ deepEqual [ 'Serge' ]\r\n      at Context.<anonymous> (test305.js:91:12)\r\n\r\n  20) Test 306 XML reader 1. Read XML file / SEARCH like JSON:\r\n     AssertionError: { name: 'Workbook',\r\n  attributes: \r\n   { xmlns: 'urn:schemas-microsoft-com:office:spreadsheet',\r\n     'xmlns:o': 'urn:schemas-micr deepEqual [ 'Sheet1', 'demo' ]\r\n      at test306.js:18:14\r\n      at /home/mathiasrw/git/alasql/dist/alasql.js:5735:11\r\n      at doSearch (/home/mathiasrw/git/alasql/dist/alasql.js:5686:10)\r\n      at statement (/home/mathiasrw/git/alasql/dist/alasql.js:5730:22)\r\n      at Function.alasql.dexec (/home/mathiasrw/git/alasql/dist/alasql.js:4241:27)\r\n      at Function.alasql.exec (/home/mathiasrw/git/alasql/dist/alasql.js:4191:17)\r\n      at alasql (/home/mathiasrw/git/alasql/dist/alasql.js:121:18)\r\n      at Context.<anonymous> (test306.js:17:5)\r\n\r\n  21) Test 306 XML reader 1a. Read XML file / SEARCH XML:\r\n     AssertionError: { name: 'Workbook',\r\n  attributes: \r\n   { xmlns: 'urn:schemas-microsoft-com:office:spreadsheet',\r\n     'xmlns:o': 'urn:schemas-micr deepEqual [ 'Sheet1', 'demo' ]\r\n      at test306.js:27:14\r\n      at /home/mathiasrw/git/alasql/dist/alasql.js:5735:11\r\n      at doSearch (/home/mathiasrw/git/alasql/dist/alasql.js:5686:10)\r\n      at statement (/home/mathiasrw/git/alasql/dist/alasql.js:5730:22)\r\n      at Function.alasql.dexec (/home/mathiasrw/git/alasql/dist/alasql.js:4241:27)\r\n      at Function.alasql.exec (/home/mathiasrw/git/alasql/dist/alasql.js:4191:17)\r\n      at alasql (/home/mathiasrw/git/alasql/dist/alasql.js:121:18)\r\n      at Context.<anonymous> (test306.js:25:5)\r\n\r\n  22) Test 306 XML reader 2. Read XML file / SEARCH XML:\r\n     AssertionError: { name: 'Workbook',\r\n  attributes: \r\n   { xmlns: 'urn:schemas-microsoft-com:office:spreadsheet',\r\n     'xmlns:o': 'urn:schemas-micr deepEqual [ 'Sheet1', 'demo' ]\r\n      at test306.js:37:14\r\n      at /home/mathiasrw/git/alasql/dist/alasql.js:5735:11\r\n      at doSearch (/home/mathiasrw/git/alasql/dist/alasql.js:5686:10)\r\n      at statement (/home/mathiasrw/git/alasql/dist/alasql.js:5730:22)\r\n      at Function.alasql.dexec (/home/mathiasrw/git/alasql/dist/alasql.js:4210:11)\r\n      at Function.alasql.exec (/home/mathiasrw/git/alasql/dist/alasql.js:4191:17)\r\n      at alasql (/home/mathiasrw/git/alasql/dist/alasql.js:121:18)\r\n      at Context.<anonymous> (test306.js:35:5)\r\n\r\n  23) Test 306 XML reader 3. Read XML file / SEARCH XML:\r\n     AssertionError: { name: 'Workbook',\r\n  attributes: \r\n   { xmlns: 'urn:schemas-microsoft-com:office:spreadsheet',\r\n     'xmlns:o': 'urn:schemas-micr deepEqual [ 'aaaa', '2', '3', '5', '6', '7' ]\r\n      at test306.js:45:16\r\n      at /home/mathiasrw/git/alasql/dist/alasql.js:5735:11\r\n      at doSearch (/home/mathiasrw/git/alasql/dist/alasql.js:5686:10)\r\n      at statement (/home/mathiasrw/git/alasql/dist/alasql.js:5730:22)\r\n      at Function.alasql.dexec (/home/mathiasrw/git/alasql/dist/alasql.js:4241:27)\r\n      at Function.alasql.exec (/home/mathiasrw/git/alasql/dist/alasql.js:4191:17)\r\n      at alasql (/home/mathiasrw/git/alasql/dist/alasql.js:121:18)\r\n      at Context.<anonymous> (test306.js:43:6)\r\n\r\n  24) Test 306 XML reader 4. Read XML file / SEARCH XML:\r\n     AssertionError: { name: 'Workbook',\r\n  attributes: \r\n   { xmlns: 'urn:schemas-microsoft-com:office:spreadsheet',\r\n     'xmlns:o': 'urn:schemas-micr deepEqual [ '5', '6', '7' ]\r\n      at test306.js:52:16\r\n      at /home/mathiasrw/git/alasql/dist/alasql.js:5735:11\r\n      at doSearch (/home/mathiasrw/git/alasql/dist/alasql.js:5686:10)\r\n      at statement (/home/mathiasrw/git/alasql/dist/alasql.js:5730:22)\r\n      at Function.alasql.dexec (/home/mathiasrw/git/alasql/dist/alasql.js:4241:27)\r\n      at Function.alasql.exec (/home/mathiasrw/git/alasql/dist/alasql.js:4191:17)\r\n      at alasql (/home/mathiasrw/git/alasql/dist/alasql.js:121:18)\r\n      at Context.<anonymous> (test306.js:51:6)\r\n\r\n  25) Test 306 XML reader 5. Read XML file / SEARCH XML:\r\n     AssertionError: { name: 'Workbook',\r\n  attributes: \r\n   { xmlns: 'urn:schemas-microsoft-com:office:spreadsheet',\r\n     'xmlns:o': 'urn:schemas-micr deepEqual [ 'urn:schemas-microsoft-com:office:spreadsheet' ]\r\n      at test306.js:60:16\r\n      at /home/mathiasrw/git/alasql/dist/alasql.js:5735:11\r\n      at doSearch (/home/mathiasrw/git/alasql/dist/alasql.js:5686:10)\r\n      at statement (/home/mathiasrw/git/alasql/dist/alasql.js:5730:22)\r\n      at Function.alasql.dexec (/home/mathiasrw/git/alasql/dist/alasql.js:4241:27)\r\n      at Function.alasql.exec (/home/mathiasrw/git/alasql/dist/alasql.js:4191:17)\r\n      at alasql (/home/mathiasrw/git/alasql/dist/alasql.js:121:18)\r\n      at Context.<anonymous> (test306.js:58:6)\r\n\r\n  26) Test 306 XML reader 6a. Read GEFX file / SEARCH XML:\r\n     AssertionError: { name: 'gexf',\r\n  attributes: { xmlns: 'http://www.gexf.net/1.2draft', version: '1.2' },\r\n  children: \r\n   [ { name: 'meta',\r\n      deepEqual [ { '$id': '0', name: 'Hello', '$node': 'VERTEX' },\r\n  { '$id': '1', name: 'Word', '$node': 'VERTEX' } ]\r\n      at test306.js:69:16\r\n      at /home/mathiasrw/git/alasql/dist/alasql.js:5735:11\r\n      at doSearch (/home/mathiasrw/git/alasql/dist/alasql.js:5686:10)\r\n      at statement (/home/mathiasrw/git/alasql/dist/alasql.js:5730:22)\r\n      at Function.alasql.dexec (/home/mathiasrw/git/alasql/dist/alasql.js:4241:27)\r\n      at Function.alasql.exec (/home/mathiasrw/git/alasql/dist/alasql.js:4191:17)\r\n      at alasql (/home/mathiasrw/git/alasql/dist/alasql.js:121:18)\r\n      at Context.<anonymous> (test306.js:67:6)\r\n\r\n  27) Test 306 XML reader 6b. Read GEFX file / SEARCH XML:\r\n     AssertionError: { name: 'gexf',\r\n  attributes: { xmlns: 'http://www.gexf.net/1.2draft', version: '1.2' },\r\n  children: \r\n   [ { name: 'meta',\r\n      deepEqual [ { '$id': '0', name: 'Hello' }, { '$id': '1', name: 'Word' } ]\r\n      at test306.js:78:16\r\n      at /home/mathiasrw/git/alasql/dist/alasql.js:5735:11\r\n      at doSearch (/home/mathiasrw/git/alasql/dist/alasql.js:5686:10)\r\n      at statement (/home/mathiasrw/git/alasql/dist/alasql.js:5730:22)\r\n      at Function.alasql.dexec (/home/mathiasrw/git/alasql/dist/alasql.js:4241:27)\r\n      at Function.alasql.exec (/home/mathiasrw/git/alasql/dist/alasql.js:4191:17)\r\n      at alasql (/home/mathiasrw/git/alasql/dist/alasql.js:121:18)\r\n      at Context.<anonymous> (test306.js:77:6)\r\n\r\n  28) Test 306 XML reader 7. Edges :\r\n     AssertionError: { name: 'gexf',\r\n  attributes: { xmlns: 'http://www.gexf.net/1.2draft', version: '1.2' },\r\n  children: \r\n   [ { name: 'meta',\r\n      deepEqual [ { id: '0', source: '0', target: '1' } ]\r\n      at test306.js:87:17\r\n      at /home/mathiasrw/git/alasql/dist/alasql.js:5735:11\r\n      at doSearch (/home/mathiasrw/git/alasql/dist/alasql.js:5686:10)\r\n      at statement (/home/mathiasrw/git/alasql/dist/alasql.js:5730:22)\r\n      at Function.alasql.dexec (/home/mathiasrw/git/alasql/dist/alasql.js:4241:27)\r\n      at Function.alasql.exec (/home/mathiasrw/git/alasql/dist/alasql.js:4191:17)\r\n      at alasql (/home/mathiasrw/git/alasql/dist/alasql.js:121:18)\r\n      at Context.<anonymous> (test306.js:85:6)\r\n\r\n  29) Test 306 XML reader 7. SEARCH INTO :\r\n     TypeError: undefined is not a function\r\n      at Object.alasql.into.CSV (/home/mathiasrw/git/alasql/dist/alasql.js:14800:7)\r\n      at doSearch (/home/mathiasrw/git/alasql/dist/alasql.js:5680:52)\r\n      at statement (/home/mathiasrw/git/alasql/dist/alasql.js:5730:22)\r\n      at Function.alasql.dexec (/home/mathiasrw/git/alasql/dist/alasql.js:4241:27)\r\n      at Function.alasql.exec (/home/mathiasrw/git/alasql/dist/alasql.js:4191:17)\r\n      at alasql (/home/mathiasrw/git/alasql/dist/alasql.js:121:18)\r\n      at Context.<anonymous> (test306.js:93:6)\r\n\r\n  30) Test 307 special selectors 1. SET selector:\r\n\r\n      AssertionError: [ { a: 1, b: 10 }, { a: 2, b: 20 } ] deepEqual [ { a: 1, b: 3 }, { a: 2, b: 6 } ]\r\n      + expected - actual\r\n\r\n       [\r\n         {\r\n           \"a\": 1\r\n      -    \"b\": 10\r\n      +    \"b\": 3\r\n         }\r\n         {\r\n           \"a\": 2\r\n      -    \"b\": 20\r\n      +    \"b\": 6\r\n         }\r\n       ]\r\n      \r\n      at Context.<anonymous> (test307.js:21:12)\r\n\r\n  31) Test 307 special selectors 2. SET selector:\r\n\r\n      AssertionError: [ { a: 1, b: 10 }, { a: 2, b: 20 } ] deepEqual [ { a: 1, b: 3 }, { a: 2, b: 6 } ]\r\n      + expected - actual\r\n\r\n       [\r\n         {\r\n           \"a\": 1\r\n      -    \"b\": 10\r\n      +    \"b\": 3\r\n         }\r\n         {\r\n           \"a\": 2\r\n      -    \"b\": 20\r\n      +    \"b\": 6\r\n         }\r\n       ]\r\n      \r\n      at Context.<anonymous> (test307.js:31:12)\r\n\r\n  32) Test 309 # operator and graphs 1. SET selector:\r\n     AssertionError: { '$id': 'Olga', '$node': 'VERTEX', age: 35 } deepEqual [ 35 ]\r\n      at Context.<anonymous> (test309.js:23:12)\r\n\r\n  33) Test 310 Create graph 2. LIKE selector:\r\n\r\n      AssertionError: [ { name: 'Moscow' },\r\n  { name: 'St.Petersburg' },\r\n  { name: 'Prague' } ] deepEqual [ 'Prague' ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"name\": \"Moscow\"\r\n      -  }\r\n      -  {\r\n      -    \"name\": \"St.Petersburg\"\r\n      -  }\r\n      -  {\r\n      -    \"name\": \"Prague\"\r\n      -  }\r\n      +  \"Prague\"\r\n       ]\r\n      \r\n      at Context.<anonymous> (test310.js:19:12)\r\n\r\n  34) Test 310 Create graph 3. CREATE GRAPH:\r\n     AssertionError: { '0': \r\n   { '$id': 0,\r\n     '$node': 'EDGE',\r\n     '$in': [ 'Anton' ],\r\n     '$out': [ 'John' ] },\r\n  '1': \r\n   { name: 'loves',\r\n    deepEqual [ 'Andrey',\r\n  'John',\r\n  'Mary',\r\n  'Anton',\r\n  'Julia',\r\n  'Victor',\r\n  'John Smith' ]\r\n      at Context.<anonymous> (test310.js:33:12)\r\n\r\n  35) Test 310 Create graph 2. RETURNS:\r\n     AssertionError: { '$id': 'John Smith',\r\n  '$node': 'VERTEX',\r\n  age: 23,\r\n  country: 'Canada',\r\n  '$out': [ 1 ] } deepEqual [ { country: 'Canada', Age: 23 } ]\r\n      at Context.<anonymous> (test310.js:45:12)\r\n\r\n  36) Test 312 JSON traverse 1. How to search deep nested JSON?:\r\n     AssertionError: { menuInputRequestId: 1,\r\n  catalog: \r\n   [ { uid: 1,\r\n       name: 'Pizza',\r\n       desc: 'Italian cuisine',\r\n       products: \r\n     deepEqual [ 'Pizza' ]\r\n      at Context.<anonymous> (test312.js:124:12)\r\n\r\n  37) Test 312 JSON traverse 2. How do I traverse a complex JSON doc with javascript and extract named values:\r\n     AssertionError: { query: \r\n   { filtered: \r\n      { query: { match_all: {} },\r\n        filter: { and: { filters: [ { terms: { ACCOUNT_NUMBER: [ '37 deepEqual [ '37846589', '37846540' ]\r\n      at Context.<anonymous> (test312.js:164:12)\r\n\r\n  38) Test 312 JSON traverse 3. Find all parents elements in a Json file:\r\n\r\n      AssertionError: [ { Id: 'menuOfficeWebControlsForWebApplication',\r\n    Title: 'Office Web Controls',\r\n    Resource: '/Documentation/Data/index.htm deepEqual [ 'menuOfficeWebControlsForWebApplication',\r\n  'menuGettingStarted',\r\n  'menuCompilingFromSource',\r\n  'menuDownloadReleasePackage',\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"Id\": \"menuOfficeWebControlsForWebApplication\"\r\n      -    \"Resource\": \"/Documentation/Data/index.html\"\r\n      -    \"Title\": \"Office Web Controls\"\r\n      -  }\r\n      -  {\r\n      -    \"Categories\": [\r\n      -      {\r\n      -        \"Id\": \"menuCompilingFromSource\"\r\n      -        \"Resource\": \"/Documentation/Data/Getting-Started/compiling-from-source.html\"\r\n      -        \"Title\": \"Compiling From Source\"\r\n      -      }\r\n      -      {\r\n      -        \"Id\": \"menuDownloadReleasePackage\"\r\n      -        \"Resource\": \"/Documentation/Data/Getting-Started/downloading-release-package.html\"\r\n      -        \"Title\": \"Download Release Package\"\r\n      -      }\r\n      -      {\r\n      -        \"Id\": \"menuBuildingYourFirstApplication\"\r\n      -        \"Resource\": \"/Documentation/Data/Getting-Started/building-your-first-application.html\"\r\n      -        \"Title\": \"Building your first application\"\r\n      -      }\r\n      -    ]\r\n      -    \"Id\": \"menuGettingStarted\"\r\n      -    \"Resource\": \"/Documentation/Data/getting-started.html\"\r\n      -    \"Title\": \"Getting Started\"\r\n      -  }\r\n      +  \"menuOfficeWebControlsForWebApplication\"\r\n      +  \"menuGettingStarted\"\r\n      +  \"menuCompilingFromSource\"\r\n      +  \"menuDownloadReleasePackage\"\r\n      +  \"menuBuildingYourFirstApplication\"\r\n       ]\r\n      \r\n      at Context.<anonymous> (test312.js:240:12)\r\n\r\n  39) Test 313 SEARCH ORDER BY 1. ORDER BY:\r\n\r\n      AssertionError: [ { a: 1 }, { a: 10 }, { a: 2 } ] deepEqual [ { a: 1 }, { a: 2 }, { a: 10 } ]\r\n      + expected - actual\r\n\r\n         {\r\n           \"a\": 1\r\n         }\r\n         {\r\n      -    \"a\": 10\r\n      +    \"a\": 2\r\n         }\r\n         {\r\n      -    \"a\": 2\r\n      +    \"a\": 10\r\n         }\r\n       ]\r\n      \r\n      at Context.<anonymous> (test313.js:15:12)\r\n\r\n  40) Test 313 SEARCH ORDER BY 2. ORDER BY:\r\n\r\n      AssertionError: [ 1, 10, 2 ] deepEqual [ 1, 2, 10 ]\r\n      + expected - actual\r\n\r\n       [\r\n         1\r\n      +  2\r\n         10\r\n      -  2\r\n       ]\r\n      \r\n      at Context.<anonymous> (test313.js:23:12)\r\n\r\n  41) Test 313 SEARCH ORDER BY 3. ORDER BY:\r\n\r\n      AssertionError: [ { a: 1 }, { a: 10 }, { a: 2 } ] deepEqual [ 10, 2, 1 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  {\r\n      -    \"a\": 10\r\n      -  }\r\n      -  {\r\n      -    \"a\": 2\r\n      -  }\r\n      +  10\r\n      +  2\r\n      +  1\r\n       ]\r\n      \r\n      at Context.<anonymous> (test313.js:30:12)\r\n\r\n  42) Test 313 SEARCH ORDER BY 4. ORDER BY:\r\n\r\n      AssertionError: [ { a: 1, b: 10 }, { a: 10, b: 0 }, { a: 2, b: 7 } ] deepEqual [ { a: 2, b: 7 }, { a: 10, b: 0 }, { a: 1, b: 10 } ]\r\n      + expected - actual\r\n\r\n       [\r\n         {\r\n      -    \"a\": 1\r\n      -    \"b\": 10\r\n      +    \"a\": 2\r\n      +    \"b\": 7\r\n         }\r\n         {\r\n           \"a\": 10\r\n           \"b\": 0\r\n         }\r\n         {\r\n      -    \"a\": 2\r\n      -    \"b\": 7\r\n      +    \"a\": 1\r\n      +    \"b\": 10\r\n         }\r\n       ]\r\n      \r\n      at Context.<anonymous> (test313.js:37:12)\r\n\r\n  43) Test 314 SEARCH with null values 1. Traverse with null:\r\n\r\n      AssertionError: [ { a: 1 }, null ] deepEqual [ 1 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  [null]\r\n      +  1\r\n       ]\r\n      \r\n      at Context.<anonymous> (test314.js:16:12)\r\n\r\n  44) Test 315a Brackets for SEARCH 1. Simple Brackets:\r\n\r\n      AssertionError: false == true\r\n      + expected - actual\r\n\r\n      -false\r\n      +true\r\n      \r\n      at Context.<anonymous> (test315.js:14:9)\r\n\r\n  45) Test 315a Brackets for SEARCH 2. Simple Brackets:\r\n\r\n      AssertionError: false == true\r\n      + expected - actual\r\n\r\n      -false\r\n      +true\r\n      \r\n      at Context.<anonymous> (test315.js:20:9)\r\n\r\n  46) Test 315a Brackets for SEARCH 3. Simple Brackets:\r\n\r\n      AssertionError: false == true\r\n      + expected - actual\r\n\r\n      -false\r\n      +true\r\n      \r\n      at Context.<anonymous> (test315.js:27:9)\r\n\r\n  47) Test 315a Brackets for SEARCH 4. Simple Brackets:\r\n\r\n      AssertionError: false == true\r\n      + expected - actual\r\n\r\n      -false\r\n      +true\r\n      \r\n      at Context.<anonymous> (test315.js:35:5)\r\n\r\n  48) Test 315a Brackets for SEARCH 5. Simple Brackets:\r\n\r\n      AssertionError: false == true\r\n      + expected - actual\r\n\r\n      -false\r\n      +true\r\n      \r\n      at Context.<anonymous> (test315.js:44:5)\r\n\r\n  49) Test 315a Brackets for SEARCH 6. Simple Brackets:\r\n\r\n      AssertionError: false == true\r\n      + expected - actual\r\n\r\n      -false\r\n      +true\r\n      \r\n      at Context.<anonymous> (test315.js:52:9)\r\n\r\n  50) Test 315b Brackets for SEARCH 1. Simple Brackets:\r\n\r\n      AssertionError: false == true\r\n      + expected - actual\r\n\r\n      -false\r\n      +true\r\n      \r\n      at Context.<anonymous> (test315.js:63:5)\r\n\r\n  51) Test 315b Brackets for SEARCH 2. Simple Brackets:\r\n\r\n      AssertionError: [ { a: 1 }, { b: { a: 2 }, c: 2 }, { c: 3 } ] deepEqual [ 1 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  {\r\n      -    \"b\": {\r\n      -      \"a\": 2\r\n      -    }\r\n      -    \"c\": 2\r\n      -  }\r\n      -  {\r\n      -    \"c\": 3\r\n      -  }\r\n      +  1\r\n       ]\r\n      \r\n      at Context.<anonymous> (test315.js:70:12)\r\n\r\n  52) Test 315b Brackets for SEARCH 3. Simple Brackets:\r\n\r\n      AssertionError: [ { a: 1 }, { b: { a: 2 }, c: 2 }, { c: 3 } ] deepEqual [ 1, 2 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  {\r\n      -    \"b\": {\r\n      -      \"a\": 2\r\n      -    }\r\n      -    \"c\": 2\r\n      -  }\r\n      -  {\r\n      -    \"c\": 3\r\n      -  }\r\n      +  1\r\n      +  2\r\n       ]\r\n      \r\n      at Context.<anonymous> (test315.js:78:12)\r\n\r\n  53) Test 315b Brackets for SEARCH 4. Simple Brackets:\r\n\r\n      AssertionError: [ { a: 1 }, { b: { a: 2 }, c: 2 }, { c: 3 } ] deepEqual [ 1, 2 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  {\r\n      -    \"b\": {\r\n      -      \"a\": 2\r\n      -    }\r\n      -    \"c\": 2\r\n      -  }\r\n      -  {\r\n      -    \"c\": 3\r\n      -  }\r\n      +  1\r\n      +  2\r\n       ]\r\n      \r\n      at Context.<anonymous> (test315.js:86:12)\r\n\r\n  54) Test 315b Brackets for SEARCH 5. Simple Brackets:\r\n\r\n      AssertionError: [ { a: 1 }, { b: { a: 2 }, c: 2 }, { c: 3 } ] deepEqual [ 1, 2 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  {\r\n      -    \"b\": {\r\n      -      \"a\": 2\r\n      -    }\r\n      -    \"c\": 2\r\n      -  }\r\n      -  {\r\n      -    \"c\": 3\r\n      -  }\r\n      +  1\r\n      +  2\r\n       ]\r\n      \r\n      at Context.<anonymous> (test315.js:93:12)\r\n\r\n  55) Test 315b Brackets for SEARCH 6. Simple Brackets:\r\n\r\n      AssertionError: [ { a: 1 }, { b: { a: 2 }, c: 2 }, { c: 3 } ] deepEqual [ 1 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  {\r\n      -    \"b\": {\r\n      -      \"a\": 2\r\n      -    }\r\n      -    \"c\": 2\r\n      -  }\r\n      -  {\r\n      -    \"c\": 3\r\n      -  }\r\n      +  1\r\n       ]\r\n      \r\n      at Context.<anonymous> (test315.js:100:12)\r\n\r\n  56) Test 315c Brackets for SEARCH 1. Simple Brackets:\r\n\r\n      AssertionError: [ { a: 1 }, { b: { a: 2 }, c: 2 }, { c: 3 } ] deepEqual [ 1, 2 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  {\r\n      -    \"b\": {\r\n      -      \"a\": 2\r\n      -    }\r\n      -    \"c\": 2\r\n      -  }\r\n      -  {\r\n      -    \"c\": 3\r\n      -  }\r\n      +  1\r\n      +  2\r\n       ]\r\n      \r\n      at Context.<anonymous> (test315.js:112:16)\r\n\r\n  57) Test 315c Brackets for SEARCH 3. Simple Brackets:\r\n\r\n      AssertionError: [ { a: 1 }, { b: { a: 2 }, c: 2 }, { c: 3 } ] deepEqual [ { a: 1 }, { b: { a: 2 }, c: 2 }, { c: 3 }, 1, { a: 2 }, 2, 3, 2 ]\r\n      + expected - actual\r\n\r\n         }\r\n         {\r\n           \"c\": 3\r\n         }\r\n      +  1\r\n      +  {\r\n      +    \"a\": 2\r\n      +  }\r\n      +  2\r\n      +  3\r\n      +  2\r\n       ]\r\n      \r\n      at Context.<anonymous> (test315.js:126:12)\r\n\r\n  58) Test 315c Brackets for SEARCH 4. Simple Brackets:\r\n\r\n      AssertionError: [ { a: 1 }, { b: { a: 2 }, c: 2 }, { c: 3 } ] deepEqual [ 1, 2 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  {\r\n      -    \"b\": {\r\n      -      \"a\": 2\r\n      -    }\r\n      -    \"c\": 2\r\n      -  }\r\n      -  {\r\n      -    \"c\": 3\r\n      -  }\r\n      +  1\r\n      +  2\r\n       ]\r\n      \r\n      at Context.<anonymous> (test315.js:132:16)\r\n\r\n  59) Test 315c Brackets for SEARCH 5. Simple Brackets:\r\n\r\n      AssertionError: [ { a: 1 }, { b: { a: 2 }, c: 2 }, { c: 3 } ] deepEqual [ 1, 2 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  {\r\n      -    \"b\": {\r\n      -      \"a\": 2\r\n      -    }\r\n      -    \"c\": 2\r\n      -  }\r\n      -  {\r\n      -    \"c\": 3\r\n      -  }\r\n      +  1\r\n      +  2\r\n       ]\r\n      \r\n      at Context.<anonymous> (test315.js:145:12)\r\n\r\n  60) Test 315c Brackets for SEARCH 6. Simple Brackets:\r\n\r\n      AssertionError: [ { a: 1 }, { b: { a: 2 }, c: 2 }, { c: 3 } ] deepEqual [ 2, 1 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  {\r\n      -    \"b\": {\r\n      -      \"a\": 2\r\n      -    }\r\n      -    \"c\": 2\r\n      -  }\r\n      -  {\r\n      -    \"c\": 3\r\n      -  }\r\n      +  2\r\n      +  1\r\n       ]\r\n      \r\n      at Context.<anonymous> (test315.js:151:12)\r\n\r\n  61) Test 315c Brackets for SEARCH 7. Simple Brackets:\r\n\r\n      AssertionError: [ { a: 1 }, { b: { a: 2 }, c: 2 }, { c: 3 } ] deepEqual [ 2, 1 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  {\r\n      -    \"b\": {\r\n      -      \"a\": 2\r\n      -    }\r\n      -    \"c\": 2\r\n      -  }\r\n      -  {\r\n      -    \"c\": 3\r\n      -  }\r\n      +  2\r\n      +  1\r\n       ]\r\n      \r\n      at Context.<anonymous> (test315.js:157:12)\r\n\r\n  62) Test 315c Brackets for SEARCH 8. Simple Brackets:\r\n\r\n      AssertionError: [ { a: 1 }, { b: { a: 2 }, c: 2 }, { c: 3 } ] deepEqual [ 2, 1 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  {\r\n      -    \"b\": {\r\n      -      \"a\": 2\r\n      -    }\r\n      -    \"c\": 2\r\n      -  }\r\n      -  {\r\n      -    \"c\": 3\r\n      -  }\r\n      +  2\r\n      +  1\r\n       ]\r\n      \r\n      at Context.<anonymous> (test315.js:163:12)\r\n\r\n  63) Test 318 PATH in GRAPH 2. Simple graph:\r\n     AssertionError: { '$id': 'Napoleon',\r\n  name: 'Napoleon',\r\n  '$node': 'VERTEX',\r\n  '$out': [ 5 ] } deepEqual [ 'loves', 'Josephine' ]\r\n      at Context.<anonymous> (test318.js:23:12)\r\n\r\n  64) Test 318 PATH in GRAPH 3. Simple graph:\r\n     AssertionError: { '$id': 'Napoleon',\r\n  name: 'Napoleon',\r\n  '$node': 'VERTEX',\r\n  '$out': [ 5 ] } deepEqual [ 'loves' ]\r\n      at Context.<anonymous> (test318.js:31:12)\r\n\r\n  65) Test 318 PATH in GRAPH 4. Simple graph:\r\n     AssertionError: { '$id': 'Napoleon',\r\n  name: 'Napoleon',\r\n  '$node': 'VERTEX',\r\n  '$out': [ 5 ] } deepEqual [ { name: 'loves',\r\n    '$id': 5,\r\n    '$node': 'EDGE',\r\n    '$in': [ 'Napoleon' ],\r\n    '$out': [ 'Josephine' ] } ]\r\n      at Context.<anonymous> (test318.js:39:12)\r\n\r\n  66) Test 318 PATH in GRAPH 5. Simple graph:\r\n     AssertionError: { '$id': 'Napoleon',\r\n  name: 'Napoleon',\r\n  '$node': 'VERTEX',\r\n  '$out': [ 5 ] } deepEqual [ 'loves', 'Josephine', 'knows', 'Pablo' ]\r\n      at Context.<anonymous> (test318.js:46:12)\r\n\r\n  67) Test 318 PATH in GRAPH 6. Simple graph:\r\n     AssertionError: { '$id': 'Napoleon',\r\n  name: 'Napoleon',\r\n  '$node': 'VERTEX',\r\n  '$out': [ 5 ] } deepEqual [ 'knows', 'loves' ]\r\n      at Context.<anonymous> (test318.js:53:12)\r\n\r\n  68) Test 318 PATH in GRAPH 7. Simple graph:\r\n     AssertionError: { '$id': 'Napoleon',\r\n  name: 'Napoleon',\r\n  '$node': 'VERTEX',\r\n  '$out': [ 5 ] } deepEqual [ 'loves', 'Josephine', 'knows', 'Pablo', 'loves', 'Julia' ]\r\n      at Context.<anonymous> (test318.js:64:12)\r\n\r\n  69) Test 319 PATH in GRAPH 2. Simple graph:\r\n     AssertionError: { '0': \r\n   { '$class': 'Person',\r\n     '$id': 0,\r\n     '$node': 'VERTEX',\r\n     age: 35,\r\n     '$out': [ 2 ] },\r\n  '1': \r\n   { '$class deepEqual [ 'is older than' ]\r\n      at Context.<anonymous> (test319.js:26:12)\r\n\r\n  70) Test 320 DISTINCT 2. SEARCH DISTINCT:\r\n\r\n      AssertionError: [ { a: 1 }, { a: 2 }, { a: 2 }, { a: 1 } ] deepEqual [ 1, 2, 2, 1 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  {\r\n      -    \"a\": 2\r\n      -  }\r\n      -  {\r\n      -    \"a\": 2\r\n      -  }\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      +  1\r\n      +  2\r\n      +  2\r\n      +  1\r\n       ]\r\n      \r\n      at Context.<anonymous> (test320.js:24:11)\r\n\r\n  71) Test 321 CREATE GRAPH 5. CREATE GRAPH:\r\n     AssertionError: { '0': { name: '[object Object]', '$id': 0, '$node': 'VERTEX' },\r\n  '1': { name: '[object Object]', '$id': 1, '$node': 'VERTEX' } deepEqual [ 'Mario', 'Alice', 'Sarah', 'James', 'Roger' ]\r\n      at Context.<anonymous> (test321.js:42:12)\r\n\r\n  72) Test 321 CREATE GRAPH 9. CREATE GRAPH:\r\n     AssertionError: { '0': \r\n   { '$id': 0,\r\n     '$node': 'EDGE',\r\n     value: 1.2,\r\n     '$in': [ 1 ],\r\n     '$out': [ 2 ] },\r\n  '1': \r\n   { name: 'Harry deepEqual [ 'Mario', 'Alice', 'Sarah', 'James', 'Roger' ]\r\n      at Context.<anonymous> (test321.js:68:12)\r\n\r\n  73) Test 321 CREATE GRAPH 13. CREATE GRAPH:\r\n     AssertionError: { '0': \r\n   { name: 'loves',\r\n     '$id': 0,\r\n     '$node': 'EDGE',\r\n     value: 1.2,\r\n     '$in': [ 'Harry' ],\r\n     '$out': [ 'Sally deepEqual [ 'Mario', 'Alice', 'Sarah', 'James', 'Roger' ]\r\n      at Context.<anonymous> (test321.js:95:12)\r\n\r\n  74) Test 321 CREATE GRAPH 16. Simple create graph:\r\n     AssertionError: { '0': \r\n   { name: 'loves',\r\n     '$id': 0,\r\n     '$node': 'EDGE',\r\n     '$in': [ 'Olga' ],\r\n     '$out': [ 'Michael' ] },\r\n  '1': \r\n  deepEqual [ 'Julia', 'Michael', 'Olga' ]\r\n      at Context.<anonymous> (test321.js:115:12)\r\n\r\n  75) Test 321 CREATE GRAPH 17. Simple create graph:\r\n     AssertionError: { '0': \r\n   { name: 'loves',\r\n     '$id': 0,\r\n     '$node': 'EDGE',\r\n     '$in': [ 'Olga' ],\r\n     '$out': [ 'Michael' ] },\r\n  '1': \r\n  deepEqual [ 'hates' ]\r\n      at Context.<anonymous> (test321.js:138:12)\r\n\r\n  76) Test 323 ANY() and ALL() 2. ALL:\r\n\r\n      AssertionError: [ { a: 1 }, { a: 2 } ] deepEqual [ 1, 2 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  {\r\n      -    \"a\": 2\r\n      -  }\r\n      +  1\r\n      +  2\r\n       ]\r\n      \r\n      at Context.<anonymous> (test323.js:19:12)\r\n\r\n  77) Test 323 ANY() and ALL() 3. ANY:\r\n\r\n      AssertionError: [ { a: 1 }, { a: 2 } ] deepEqual [ 1 ]\r\n      + expected - actual\r\n\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  {\r\n      -    \"a\": 2\r\n      -  }\r\n      +  1\r\n       ]\r\n      \r\n      at Context.<anonymous> (test323.js:25:12)\r\n\r\n  78) Test 328 COMMA SELECTOR 2. SEARCH COMMA - select all pairs:\r\n\r\n      AssertionError: [ { a: 1 }, { a: 2 }, { a: 3 } ] deepEqual [ { '@a': 1, '@b': 2 },\r\n  { '@a': 1, '@b': 3 },\r\n  { '@a': 2, '@b': 1 },\r\n  { '@a': 2, '@b': 3 },\r\n  { '@a': 3, '@b': 1 },\r\n  { '@a'\r\n      + expected - actual\r\n\r\n       [\r\n         {\r\n      -    \"a\": 1\r\n      +    \"@a\": 1\r\n      +    \"@b\": 2\r\n         }\r\n         {\r\n      -    \"a\": 2\r\n      +    \"@a\": 1\r\n      +    \"@b\": 3\r\n         }\r\n         {\r\n      -    \"a\": 3\r\n      +    \"@a\": 2\r\n      +    \"@b\": 1\r\n         }\r\n      +  {\r\n      +    \"@a\": 2\r\n        [ { left: \r\n      +    \"@b\": 3\r\n      +  }\r\n      +  {\r\n      +    \"@a\": 3\r\n      +    \"@b\": 1\r\n      +  }\r\n      +  {\r\n      +    \"@a\": 3\r\n      +    \"@b\": 2\r\n      +  }\r\n       ]\r\n      \r\n      at Context.<anonymous> (test328.js:22:12)\r\n  79) Test 328 COMMA SELECTOR 2. SEARCH COMMA - select all pairs:\r\n      AssertionError: [ { a: 1 }, { a: 2 }, { a: 3 } ] deepEqual [ [ 1, 2 ], [ 1, 3 ], [ 2, 1 ], [ 2, 3 ], [ 3, 1 ], [ 3, 2 ] ]\r\n      + expected - actual\r\n       [\r\n      -  {\r\n      -    \"a\": 1\r\n      -  }\r\n      -  {\r\n      -    \"a\": 2\r\n      -  }\r\n      -  {\r\n      -    \"a\": 3\r\n      -  }\r\n      +  [\r\n      +    1\r\n      +    2\r\n      +  ]\r\n      +  [\r\n      +    1\r\n      +    3\r\n      +  ]\r\n      +  [\r\n      +    2\r\n      +    1\r\n      +  ]\r\n      +  [\r\n      +    2\r\n      +    3\r\n      +  ]\r\n      +  [\r\n      +    3\r\n      +    1\r\n      +  ]\r\n      +  [\r\n      +    3\r\n      +    2\r\n      +  ]\r\n       ]\r\n      \r\n      at Context.<anonymous> (test328.js:39:12)\r\n```\r\n"}}