UNPKG

alasql

Version:

AlaSQL.js - JavaScript SQL database library for relational and graph data manipulation with support of localStorage, IndexedDB, and Excel

73 lines (55 loc) 2.13 kB
if(typeof exports === 'object') { var assert = require("assert"); var alasql = require('..'); } else { __dirname = '.'; }; describe('Test 317 GRAPH', function() { it('1. CREATE DATABASE',function(done){ alasql('CREATE DATABASE test317; USE test317'); done(); }); it('2. Simple graph',function(done){ alasql('CREATE CLASS loves; CREATE CLASS hates'); var res = alasql('CREATE GRAPH Pablo, Maxim, Alex, Kate, Julia, Paloma, \ #Pablo > "loves" > #Julia, #Maxim > "loves" > #Julia, #Alex > "loves" > #Kate, \ #Kate > "hates" > #Julia, #Alex > "loves" > #Paloma'); // var res = alasql('SEARCH #Alex > "loves" > AS @p1 < "hates" < #Julia'); // var res = alasql('SEARCH #Alex > "loves" > AS @p < "hates" < #Julia @p'); // var res = alasql('SEARCH #Alex > "loves" > AS @p > "hates" > #Julia @p'); done(); }); it('3. Simple graph',function(done){ var res = alasql('SEARCH > "loves" > name FROM #Alex'); assert.deepEqual(res,['Kate', 'Paloma']); done(); }); it('4. Simple graph',function(done){ var res = alasql('SEARCH / VERTEX AS @p OR(<,>) @p name'); assert.deepEqual(res,[ 'Pablo', 'Maxim', 'Alex', 'Kate', 'Julia', 'Paloma' ]); done(); }); it('5. Simple graph',function(done){ var res = alasql('SEARCH / VERTEX AS @p AND(<,>) @p name'); assert.deepEqual(res,[ 'Kate' ]); done(); }); it('6. Simple graph',function(done){ var res = alasql('SEARCH / VERTEX AS @p AND(<"loves",<"hates") @p name'); assert.deepEqual(res,["Julia"] ); done(); }); it('7. Simple graph',function(done){ var res = alasql('SEARCH DISTINCT(/ VERTEX AS @p < OR("loves","hates") @p name)'); assert.deepEqual(res,["Kate","Julia","Paloma"] ); var res = alasql('SEARCH / VERTEX AS @p IF(< OR("loves","hates") <) name'); assert.deepEqual(res,["Kate","Julia","Paloma"] ); var res = alasql('SEARCH / VERTEX AS @p IF(< OR("loves","hates")) name'); assert.deepEqual(res,["Kate","Julia","Paloma"] ); done(); }); it('99. DROP DATABASE',function(done){ alasql('DROP DATABASE test317'); done(); }); });