1
0
Fork 0

Added tests for restriction on edges call in general graph module

This commit is contained in:
Michael Hackstein 2014-05-19 11:08:23 +02:00
parent d558fa8fbd
commit 5255e8f26b
2 changed files with 138 additions and 16 deletions

View File

@ -374,19 +374,10 @@ Graph.prototype._EDGES = function(vertexId) {
};
////////////////////////////////////////////////////////////////////////////////
/// @brief _edges(vertexId).
/// @brief INEDGES(vertexId).
////////////////////////////////////////////////////////////////////////////////
Graph.prototype._edges = function(vertexId) {
var AQLStmt = new AQLGenerator(this.__name);
return AQLStmt.edges(vertexId, "any");
};
////////////////////////////////////////////////////////////////////////////////
/// @brief inEdges(vertexId).
////////////////////////////////////////////////////////////////////////////////
Graph.prototype._inEdges = function(vertexId) {
Graph.prototype._INEDGES = function(vertexId) {
var edgeCollections = this._edgeCollections();
var result = [];
@ -397,7 +388,6 @@ Graph.prototype._inEdges = function(vertexId) {
result = result.concat(edgeCollection.inEdges(vertexId));
}
);
bindFluentAQLFunctionsToArray(result);
return result;
};
@ -420,6 +410,32 @@ Graph.prototype._outEdges = function(vertexId) {
return result;
};
////////////////////////////////////////////////////////////////////////////////
/// @brief _edges(vertexId).
////////////////////////////////////////////////////////////////////////////////
Graph.prototype._edges = function(vertexId) {
var AQLStmt = new AQLGenerator(this.__name);
return AQLStmt.edges(vertexId, "any");
};
////////////////////////////////////////////////////////////////////////////////
/// @brief _inEdges(vertexId).
////////////////////////////////////////////////////////////////////////////////
Graph.prototype._inEdges = function(vertexId) {
var AQLStmt = new AQLGenerator(this.__name);
return AQLStmt.edges(vertexId, "inbound");
};
////////////////////////////////////////////////////////////////////////////////
/// @brief _outEdges(vertexId).
////////////////////////////////////////////////////////////////////////////////
Graph.prototype._outEdges = function(vertexId) {
var AQLStmt = new AQLGenerator(this.__name);
return AQLStmt.edges(vertexId, "outbound");
};
////////////////////////////////////////////////////////////////////////////////
/// @brief get ingoing vertex of an edge.
////////////////////////////////////////////////////////////////////////////////

View File

@ -324,8 +324,87 @@ function GeneralGraphAQLQueriesSuite() {
assertEqual(result.length, 3);
assertTrue(findIdInResult(result, incEdge1));
assertTrue(findIdInResult(result, incEdge2));
assertFalse(findIdInResult(result, incEdge3));
assertTrue(findIdInResult(result, incEdge3));
*/
dropInclExcl();
},
test_outEdges: function() {
var g = createInclExcl();
var incEdge1 = g.included.save(
"v1/1",
"v2/1",
{
included: true
}
)._id;
var excEdge1 = g.included.save(
"v1/2",
"v1/1",
{
included: false
}
)._id;
var incEdge2 = g.excluded.save(
"v1/1",
"v3/1",
{
included: true
}
)._id;
var query = g._outEdges("v1/1");
assertEqual(query.printQuery(), "GRAPH_EDGES("
+ "@graphName,@startVertex_0,outbound)");
var bindVars = query.bindVars;
assertEqual(bindVars.graphName, "graph");
assertEqual(bindVars.startVertex_0, "v1/1");
/*
var result = query.toArray();
assertEqual(result.length, 3);
assertTrue(findIdInResult(result, incEdge1));
assertTrue(findIdInResult(result, incEdge2));
assertFalse(findIdInResult(result, excEdge1));
*/
dropInclExcl();
},
test_inEdges: function() {
var g = createInclExcl();
var excEdge1 = g.included.save(
"v1/1",
"v2/1",
{
included: false
}
)._id;
var incEdge1 = g.included.save(
"v1/2",
"v1/1",
{
included: true
}
)._id;
var excEdge2 = g.excluded.save(
"v1/1",
"v3/1",
{
included: true
}
)._id;
var query = g._inEdges("v1/1");
assertEqual(query.printQuery(), "GRAPH_EDGES("
+ "@graphName,@startVertex_0,inbound)");
var bindVars = query.bindVars;
assertEqual(bindVars.graphName, "graph");
assertEqual(bindVars.startVertex_0, "v1/1");
/*
var result = query.toArray();
assertEqual(result.length, 3);
assertTrue(findIdInResult(result, incEdge1));
assertFalse(findIdInResult(result, excEdge1));
assertFalse(findIdInResult(result, excEdge2));
*/
dropInclExcl();
},
test_restrictOnEdges: function() {
@ -351,11 +430,20 @@ function GeneralGraphAQLQueriesSuite() {
included: false
}
)._id;
var result = g._edges("v1/1").restrict("included");
var query = g._edges("v1/1").restrict("included");
assertEqual(query.printQuery(), "GRAPH_EDGES("
+ "@graphName,@startVertex_0,any,{},@restrictions_0)");
var bindVars = query.bindVars;
assertEqual(bindVars.graphName, "graph");
assertEqual(bindVars.startVertex_0, "v1/1");
assertEqual(bindVars.restrictions_0, ["included"]);
/*
assertEqual(result.length, 2);
assertTrue(findIdInResult(result, incEdge1));
assertTrue(findIdInResult(result, incEdge2));
assertFalse(findIdInResult(result, excEdge));
*/
dropInclExcl();
},
@ -386,11 +474,20 @@ function GeneralGraphAQLQueriesSuite() {
included: false
}
)._id;
var result = g._inEdges("v1/1").restrict("included");
var query = g._inEdges("v1/1").restrict("included");
assertEqual(query.printQuery(), "GRAPH_EDGES("
+ "@graphName,@startVertex_0,inbound,{},@restrictions_0)");
var bindVars = query.bindVars;
assertEqual(bindVars.graphName, "graph");
assertEqual(bindVars.startVertex_0, "v1/1");
assertEqual(bindVars.restrictions_0, ["included"]);
/*
var result = query.toArray();
assertEqual(result.length, 1);
assertTrue(findIdInResult(result, incEdge));
assertFalse(findIdInResult(result, excEdge1));
assertFalse(findIdInResult(result, excEdge2));
*/
dropInclExcl();
},
@ -421,11 +518,20 @@ function GeneralGraphAQLQueriesSuite() {
included: false
}
)._id;
var result = g._outEdges("v1/1").restrict("included");
var query = g._outEdges("v1/1").restrict("included");
assertEqual(query.printQuery(), "GRAPH_EDGES("
+ "@graphName,@startVertex_0,outbound,{},@restrictions_0)");
var bindVars = query.bindVars;
assertEqual(bindVars.graphName, "graph");
assertEqual(bindVars.startVertex_0, "v1/1");
assertEqual(bindVars.restrictions_0, ["included"]);
/*
var result = query.toArray();
assertEqual(result.length, 1);
assertTrue(findIdInResult(result, incEdge));
assertFalse(findIdInResult(result, excEdge1));
assertFalse(findIdInResult(result, excEdge2));
*/
dropInclExcl();
},