Skip to content

Commit

Permalink
refac/test/Tests for available functions
Browse files Browse the repository at this point in the history
  • Loading branch information
brunolnetto committed Feb 10, 2022
1 parent 2ccb99f commit 68c07f9
Show file tree
Hide file tree
Showing 169 changed files with 98 additions and 56 deletions.
Empty file modified .babelrc
100644 → 100755
Empty file.
Empty file modified .eslintrc.cjs
100644 → 100755
Empty file.
Empty file modified .gitignore
100644 → 100755
Empty file.
Empty file modified .pre-commit-config.yaml
100644 → 100755
Empty file.
Empty file modified README.md
100644 → 100755
Empty file.
Empty file modified algorithms/bellman-ford/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/bellman-ford/__test__/bellmanFord.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/bellman-ford/bellmanFord.js
100644 → 100755
Empty file.
Empty file modified algorithms/breadth-first-search/README.md
100644 → 100755
Empty file.
Empty file.
Empty file modified algorithms/breadth-first-search/breadthFirstSearch.js
100644 → 100755
Empty file.
Empty file modified algorithms/bridges/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/bridges/__test__/graphBridges.test.js
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion algorithms/bridges/graphBridges.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import depthFirstSearch from '../depth-first-search/depthFirstSearch';
import depthFirstSearch from '../depth-first-search/depthFirstSearch.js';

/**
* Helper class for visited vertex metadata.
Expand Down
Empty file modified algorithms/depth-first-search/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/depth-first-search/__test__/depthFirstSearch.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/depth-first-search/depthFirstSearch.js
100644 → 100755
Empty file.
Empty file modified algorithms/detect-cycle/__test__/detectDirectedCycle.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/detect-cycle/__test__/detectUndirectedCycle.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/detect-cycle/detectDirectedCycle.js
100644 → 100755
Empty file.
Empty file modified algorithms/detect-cycle/detectUndirectedCycle.js
100644 → 100755
Empty file.
Empty file.
Empty file modified algorithms/dijkstra/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/dijkstra/__test__/dijkstra.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/dijkstra/dijkstra.js
100644 → 100755
Empty file.
Empty file modified algorithms/eulerian-path/README.md
100644 → 100755
Empty file.
30 changes: 12 additions & 18 deletions algorithms/eulerian-path/__test__/eulerianPath.test.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,14 @@ import GraphEdge from '../../../data-structures/graph/GraphEdge';
import Graph from '../../../data-structures/graph/Graph';
import eulerianPath from '../eulerianPath';

console.warn = jest.fn();

beforeEach(() => {
console.warn.mockClear();
});

describe('eulerianPath', () => {
it('should throw an error when graph is not Eulerian', () => {
it('should throw an warning on console when graph is not Eulerian', () => {
function findEulerianPathInNotEulerianGraph() {
const vertexA = new GraphVertex('A');
const vertexB = new GraphVertex('B');
Expand All @@ -21,16 +27,12 @@ describe('eulerianPath', () => {
const graph = new Graph();

graph
.addEdge(edgeAB)
.addEdge(edgeAC)
.addEdge(edgeBC)
.addEdge(edgeBD)
.addEdge(edgeCE);
.addEdges([edgeAB, edgeAC, edgeBC, edgeBD, edgeCE]);

eulerianPath(graph);

expect(console.warn).toHaveBeenCalledTimes(1);
}

expect(findEulerianPathInNotEulerianGraph).toThrowError();
});

it('should find Eulerian Circuit in graph', () => {
Expand All @@ -56,16 +58,8 @@ describe('eulerianPath', () => {
const graph = new Graph();

graph
.addEdge(edgeAB)
.addEdge(edgeAE)
.addEdge(edgeAF)
.addEdge(edgeAG)
.addEdge(edgeGF)
.addEdge(edgeBE)
.addEdge(edgeEB)
.addEdge(edgeBC)
.addEdge(edgeED)
.addEdge(edgeCD);
.addEdges([edgeAB, edgeAE, edgeAF, edgeAG, edgeGF,
edgeBE, edgeEB, edgeBC, edgeED, edgeCD]);

const graphEdgesCount = graph.getAllEdges().length;

Expand Down
7 changes: 4 additions & 3 deletions algorithms/eulerian-path/eulerianPath.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import graphBridges from '../bridges/graphBridges';
import graphBridges from '../bridges/graphBridges.js';

/**
* Fleury's algorithm of finding Eulerian Path (visit all graph edges exactly once).
Expand Down Expand Up @@ -36,9 +36,10 @@ export default function eulerianPath(graph) {
// If not all vertices have even degree then graph must contain only two odd-degree
// vertices in order to have Euler Path.
const isCircuit = !Object.values(oddRankVertices).length;

if (!isCircuit && Object.values(oddRankVertices).length !== 2) {
throw new Error('Eulerian path must contain two odd-ranked vertices');
console.warn('Warning: Eulerian path must contain two odd-ranked vertices');
return [];
}

// Pick start vertex for traversal.
Expand Down
Empty file modified algorithms/floyd-warshall/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/floyd-warshall/__test__/floydWarshall.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/floyd-warshall/floydWarshall.js
100644 → 100755
Empty file.
Empty file modified algorithms/hamiltonian-cycle/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/hamiltonian-cycle/__test__/hamiltonianCycle.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/hamiltonian-cycle/hamiltonianCycle.js
100644 → 100755
Empty file.
Empty file modified algorithms/kruskal/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/kruskal/__test__/kruskal.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/kruskal/kruskal.js
100644 → 100755
Empty file.
Empty file modified algorithms/prim/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/prim/__test__/prim.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/prim/prim.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/Sort.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/SortTester.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/__test__/Sort.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/bubble-sort/BubbleSort.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/bubble-sort/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/bubble-sort/README.pt-BR.md
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/bubble-sort/__test__/BubbleSort.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/counting-sort/CountingSort.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/counting-sort/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/counting-sort/__test__/CountingSort.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/heap-sort/HeapSort.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/heap-sort/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/heap-sort/__test__/HeapSort.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/insertion-sort/InsertionSort.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/insertion-sort/README.md
100644 → 100755
Empty file.
Empty file.
Empty file modified algorithms/sorting/merge-sort/MergeSort.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/merge-sort/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/merge-sort/__test__/MergeSort.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/quick-sort/QuickSort.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/quick-sort/QuickSortInPlace.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/quick-sort/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/quick-sort/__test__/QuickSort.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/quick-sort/__test__/QuickSortInPlace.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/radix-sort/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/radix-sort/RadixSort.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/radix-sort/__test__/RadixSort.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/selection-sort/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/selection-sort/SelectionSort.js
100644 → 100755
Empty file.
Empty file.
Empty file modified algorithms/sorting/shell-sort/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/shell-sort/ShellSort.js
100644 → 100755
Empty file.
Empty file modified algorithms/sorting/shell-sort/__test__/ShellSort.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/strongly-connected-components/README.md
100644 → 100755
Empty file.
Empty file.
6 changes: 3 additions & 3 deletions algorithms/strongly-connected-components/stronglyConnectedComponents.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Stack from '../../data-structures/stack/Stack';
import depthFirstSearch from '../depth-first-search/depthFirstSearch';
import Stack from '../../data-structures/stack/Stack.js';
import depthFirstSearch from '../depth-first-search/depthFirstSearch.js';

/**
* @param {Graph} graph
Expand All @@ -8,7 +8,7 @@ import depthFirstSearch from '../depth-first-search/depthFirstSearch';
function getVerticesSortedByDfsFinishTime(graph) {
// Set of all visited vertices during DFS pass.
const visitedVerticesSet = {};

// Stack of vertices by finish time.
// All vertices in this stack are ordered by finished time in decreasing order.
// Vertex that has been finished first will be at the bottom of the stack and
Expand Down
Empty file modified algorithms/topological-sorting/README.md
100644 → 100755
Empty file.
Empty file modified algorithms/topological-sorting/__test__/topologicalSort.test.js
100644 → 100755
Empty file.
Empty file modified algorithms/topological-sorting/topologicalSort.js
100644 → 100755
Empty file.
Empty file modified algorithms/travelling-salesman/README.md
100644 → 100755
Empty file.
Empty file.
Empty file modified algorithms/travelling-salesman/bfTravellingSalesman.js
100644 → 100755
Empty file.
Empty file modified app.yaml
100644 → 100755
Empty file.
Empty file modified data-structures/disjoint-set/DisjointSet.js
100644 → 100755
Empty file.
Empty file modified data-structures/disjoint-set/DisjointSetItem.js
100644 → 100755
Empty file.
Empty file modified data-structures/disjoint-set/README.md
100644 → 100755
Empty file.
Empty file modified data-structures/disjoint-set/README.pt-BR.md
100644 → 100755
Empty file.
Empty file modified data-structures/disjoint-set/README.ru-RU.md
100644 → 100755
Empty file.
Empty file modified data-structures/disjoint-set/__test__/DisjointSet.test.js
100644 → 100755
Empty file.
Empty file modified data-structures/disjoint-set/__test__/DisjointSetItem.test.js
100644 → 100755
Empty file.
9 changes: 8 additions & 1 deletion data-structures/graph/Graph.js
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import Iter from 'es-iter';
import _ from 'lodash';

import stronglyConnectedComponents from '../../algorithms/strongly-connected-components/stronglyConnectedComponents.js';
import eulerianPath from '../../algorithms/eulerian-path/eulerianPath.js';
import depthFirstSearch from '../../algorithms/depth-first-search/depthFirstSearch.js';
import VisitMetadata from './VisitMetadata.js';

Expand Down Expand Up @@ -438,7 +441,7 @@ export default class Graph {
low[v] = preorder[v];

for (let i = 0; i < adjList[v].length; i += 1) {
w = adjList[v][i];
let w = adjList[v][i];
if (preorder[w] === -1) {
this.#bridgesUtil(v, w, preorder, low, counter, bridges);

Expand Down Expand Up @@ -826,9 +829,13 @@ export default class Graph {
adjacency_list: this.getAdjacencyList(),
loose_nodes: this.looseNodes(),
orphan_nodes: this.orphanNodes(),
articulation_nodes: this.articulationVertices(),
bridges: this.bridges(),
is_cyclic,
...is_cyclic && { all_cycles: this.cyclicPaths() },
is_eulerian: is_eulerian,
...is_eulerian && { eulerian_path: this.getEulerianPath() },
is_connected: this.isConnected(),
};
}

Expand Down
Empty file modified data-structures/graph/GraphEdge.js
100644 → 100755
Empty file.
Empty file modified data-structures/graph/GraphVertex.js
100644 → 100755
Empty file.
Empty file modified data-structures/graph/README.md
100644 → 100755
Empty file.
Empty file modified data-structures/graph/README.pt-BR.md
100644 → 100755
Empty file.
Empty file modified data-structures/graph/README.ru-RU.md
100644 → 100755
Empty file.
Empty file modified data-structures/graph/README.zh-CN.md
100644 → 100755
Empty file.
Empty file modified data-structures/graph/VisitMetadata.js
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion data-structures/graph/__test__/Graph.test.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,7 @@ describe('Graph', () => {
const D = new GraphVertex('D');
const E = new GraphVertex('E');
const F = new GraphVertex('F');

// Vertices
const AB = new GraphEdge(A, B);
const BC = new GraphEdge(B, C);
Expand Down
Empty file modified data-structures/graph/__test__/GraphEdge.test.js
100644 → 100755
Empty file.
Empty file modified data-structures/graph/__test__/GraphVertex.test.js
100644 → 100755
Empty file.
Empty file modified data-structures/heap/Heap.js
100644 → 100755
Empty file.
Empty file modified data-structures/heap/MaxHeap.js
100644 → 100755
Empty file.
Empty file modified data-structures/heap/MinHeap.js
100644 → 100755
Empty file.
Empty file modified data-structures/heap/README.fr-FR.md
100644 → 100755
Empty file.
Empty file modified data-structures/heap/README.ja-JP.md
100644 → 100755
Empty file.
Empty file modified data-structures/heap/README.md
100644 → 100755
Empty file.
Empty file modified data-structures/heap/README.pt-BR.md
100644 → 100755
Empty file.
Empty file modified data-structures/heap/README.ru-RU.md
100644 → 100755
Empty file.
Empty file modified data-structures/heap/README.zh-CN.md
100644 → 100755
Empty file.
Empty file modified data-structures/heap/__test__/Heap.test.js
100644 → 100755
Empty file.
Empty file modified data-structures/heap/__test__/MaxHeap.test.js
100644 → 100755
Empty file.
Empty file modified data-structures/heap/__test__/MinHeap.test.js
100644 → 100755
Empty file.
Empty file modified data-structures/linked-list/LinkedList.js
100644 → 100755
Empty file.
Empty file modified data-structures/linked-list/LinkedListNode.js
100644 → 100755
Empty file.
Empty file modified data-structures/linked-list/README.es-ES.md
100644 → 100755
Empty file.
Empty file modified data-structures/linked-list/README.ja-JP.md
100644 → 100755
Empty file.
Empty file modified data-structures/linked-list/README.ko-KR.md
100644 → 100755
Empty file.
Empty file modified data-structures/linked-list/README.md
100644 → 100755
Empty file.
Empty file modified data-structures/linked-list/README.pt-BR.md
100644 → 100755
Empty file.
Empty file modified data-structures/linked-list/README.ru-RU.md
100644 → 100755
Empty file.
Empty file modified data-structures/linked-list/README.zh-CN.md
100644 → 100755
Empty file.
Empty file modified data-structures/linked-list/__test__/LinkedList.test.js
100644 → 100755
Empty file.
Empty file modified data-structures/linked-list/__test__/LinkedListNode.test.js
100644 → 100755
Empty file.
Empty file modified data-structures/priority-queue/PriorityQueue.js
100644 → 100755
Empty file.
Empty file modified data-structures/priority-queue/README.fr-FR.md
100644 → 100755
Empty file.
Empty file modified data-structures/priority-queue/README.ja-JP.md
100644 → 100755
Empty file.
Empty file modified data-structures/priority-queue/README.md
100644 → 100755
Empty file.
Empty file modified data-structures/priority-queue/README.pt-BR.md
100644 → 100755
Empty file.
Empty file modified data-structures/priority-queue/README.ru-RU.md
100644 → 100755
Empty file.
Empty file modified data-structures/priority-queue/README.zh-CN.md
100644 → 100755
Empty file.
Empty file modified data-structures/priority-queue/__test__/PriorityQueue.test.js
100644 → 100755
Empty file.
Empty file modified data-structures/queue/Queue.js
100644 → 100755
Empty file.
Empty file modified data-structures/queue/README.fr-FR.md
100644 → 100755
Empty file.
Empty file modified data-structures/queue/README.ja-JP.md
100644 → 100755
Empty file.
Empty file modified data-structures/queue/README.md
100644 → 100755
Empty file.
Empty file modified data-structures/queue/README.pt-BR.md
100644 → 100755
Empty file.
Empty file modified data-structures/queue/README.ru-RU.md
100644 → 100755
Empty file.
Empty file modified data-structures/queue/README.zh-CN.md
100644 → 100755
Empty file.
Empty file modified data-structures/queue/__test__/Queue.test.js
100644 → 100755
Empty file.
Empty file modified data-structures/stack/README.fr-FR.md
100644 → 100755
Empty file.
Empty file modified data-structures/stack/README.ja-JP.md
100644 → 100755
Empty file.
Empty file modified data-structures/stack/README.md
100644 → 100755
Empty file.
Empty file modified data-structures/stack/README.pt-BR.md
100644 → 100755
Empty file.
Empty file modified data-structures/stack/README.ru-RU.md
100644 → 100755
Empty file.
Empty file modified data-structures/stack/README.zh-CN.md
100644 → 100755
Empty file.
Empty file modified data-structures/stack/Stack.js
100644 → 100755
Empty file.
Empty file modified data-structures/stack/__test__/Stack.test.js
100644 → 100755
Empty file.
Empty file modified jest.config.js
100644 → 100755
Empty file.
Empty file modified package.json
100644 → 100755
Empty file.
Empty file modified samples/blueprints/DemandasEspontaneas.json
100644 → 100755
Empty file.
Empty file modified samples/blueprints/POC_userTask.json
100644 → 100755
Empty file.
Empty file modified samples/blueprints/activitySchemaValidation.json
100644 → 100755
Empty file.
Empty file modified samples/blueprints/basic.json
100644 → 100755
Empty file.
Empty file modified samples/blueprints/customNode.json
100644 → 100755
Empty file.
Empty file modified samples/blueprints/environmentVariables.json
100644 → 100755
Empty file.
Empty file modified samples/blueprints/findProcess.json
100644 → 100755
Empty file.
Empty file modified samples/blueprints/indexProcess.json
100644 → 100755
Empty file.
Empty file modified samples/blueprints/notifyUserTask.json
100644 → 100755
Empty file.
Empty file modified samples/blueprints/precious.json
100644 → 100755
Empty file.
Empty file modified samples/blueprints/scriptNode.json
100644 → 100755
Empty file.
Empty file modified samples/blueprints/singleUserTask.json
100644 → 100755
Empty file.
Empty file modified samples/blueprints/timer.json
100644 → 100755
Empty file.
15 changes: 7 additions & 8 deletions server.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,11 @@ app.get('/', (req, res) => {
// Driver program
// Create a sample graph

// let parseBlueprintToGraph();
const bps_root = './samples/blueprints/';
const blueprints_fnames = fs.readdirSync(bps_root);

const READ_ALL_BPS = true;
const blueprint_fname = 'DemandasEspontaneas.json';
const READ_ALL_BPS = false;
const blueprint_fname = 'precious.json';

const graphs = [];
const descriptions = [];
Expand All @@ -44,7 +43,7 @@ app.get('/', (req, res) => {
for (let i = 0; i < blueprints_fnames.length; i++) {
const fname = bps_root + blueprints_fnames[i];
const blueprint_i = require(fname);

// let graph_i = parseBlueprintToGraph(blueprint_i);
descriptions.push(fromStartToFinishCombsAcyclicPaths(blueprint_i));
}
Expand All @@ -53,11 +52,11 @@ app.get('/', (req, res) => {
} else {
const fname = bps_root + blueprint_fname;
const blueprint_i = require(fname);

const graph = parseBlueprintToGraph(blueprint_i);
const route_describe = fromStartToFinishAcyclicPaths(blueprint_i, '1', '91');

res.send(fromStartToFinishCombsAcyclicPaths(blueprint_i));
const route_describe = fromStartToFinishCombsAcyclicPaths(blueprint_i);
res.send(graph.getEulerianPath());
}
});
// [END app]
34 changes: 34 additions & 0 deletions utils/arrays/__test__/arrays.test.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import {
cyclicSort,
isCyclicEqual,
getUniques,
extendedVenn
} from '../arrays';

console.error = jest.fn();
Expand Down Expand Up @@ -43,3 +44,36 @@ describe('Array', () => {
expect(console.error).toHaveBeenCalledTimes(1);
});
});

describe('Extended venn diagram', () => {
it('Validate information from Extended Venn Diagram', () => {
let list_1=[1, 2, 3, 4, 5];
let list_2=[4, 5, 6, 7];

expect(extendedVenn([list_1, list_2])).toEqual({
'0,1':[4, 5],
'0':[1, 2, 3],
'1':[6, 7]
});
});

it('Validate non-intersection from Extended Venn Diagram', () => {
let list_1=[1, 2, 3];
let list_2=[4, 5, 6];

expect(extendedVenn([list_1, list_2])).toEqual({
'0':[1, 2, 3],
'1':[4, 5, 6]
});
});

it('Validate empty exclusivity from Extended Venn Diagram', () => {
let list_1=[1, 2, 3, 4, 5, 6];
let list_2=[4, 5, 6];

expect(extendedVenn([list_1, list_2])).toEqual({
'0':[1, 2, 3],
'0,1':[4, 5, 6]
});
});
})
34 changes: 13 additions & 21 deletions utils/arrays/arrays.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -63,37 +63,29 @@ export const extendedVenn = (sets) => {
Set.prototype.has,
new Set(acc),
));

// No intersection means no exclusive value
if (comb_sets_inter.length === 0) {
break;
}

const ev_keys_i_to_n = [];
Object
.keys(extended_venn)
.forEach(
(key) => {
if (key.split(',').length >= i) {
ev_keys_i_to_n.push(key);
}
},
);
const ev_keys_i_to_n = Object.keys(extended_venn);

// Intersection of elements
comb_sets_union = ev_keys_i_to_n.length === 0 ? []
: ev_keys_i_to_n.reduce((acc, key) => [
...new Set(
[
...acc,
...extended_venn[key],
],
)], []);
comb_sets_union =
ev_keys_i_to_n.length === 0 ? []
: ev_keys_i_to_n.reduce((acc, key) => [
...new Set(
[
...acc,
...extended_venn[key],
],
)], []);

// Exclusive combination set elements
comb_sets_excl = _.difference(comb_sets_inter, comb_sets_union);

if (comb_sets_inter.length !== 0) {
if (comb_sets_excl.length !== 0) {
extended_venn[comb_keys.toString()] = comb_sets_excl;
}
}
Expand Down
Empty file modified utils/comparator/Comparator.js
100644 → 100755
Empty file.
Empty file modified utils/comparator/__test__/Comparator.test.js
100644 → 100755
Empty file.
15 changes: 15 additions & 0 deletions utils/workflow/parsers.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,21 @@ export const fromStartToFinishAcyclicPaths = (blueprint, start_key, finish_key)
const start_id = vertices_keys_to_indices[start_key];
const finish_id = vertices_keys_to_indices[finish_key];

let is_undefined=false;
if (start_id === undefined) {
console.warn(`Warning: Claimed start vertex id ${start_key} is not available within nodes`);
is_undefined=true;
}

if (finish_id === undefined) {
console.warn(`Warning: Claimed finish vertex id ${finish_key} is not available within nodes`);
is_undefined=true;
}

if(is_undefined){
return [];
}

if (getAllIndexes(orphanNodes, start_id).length === 0) {
console.warn(`Vertex id ${start_id} is not a start node! Detected start nodes: ${orphanNodes}`);

Expand Down

0 comments on commit 68c07f9

Please sign in to comment.