findConnectedComponents.js 787 B

12345678910111213141516171819202122232425
  1. var test = require('tap').test;
  2. var findConnectedComponents = require('../examples/findConnectedComponents');
  3. var createGraph = require('..');
  4. test('can find connected components', function(t) {
  5. // our graph has three components
  6. var graph = createGraph();
  7. graph.addLink(1, 2);
  8. graph.addLink(2, 3);
  9. graph.addLink(5, 6);
  10. graph.addNode(8);
  11. // let's add loop:
  12. graph.addLink(9, 9);
  13. // lets verify it:
  14. var components = findConnectedComponents(graph);
  15. t.equal(components.length, 4, 'all components found');
  16. t.deepEqual(components[0], [1, 2, 3], 'first component found')
  17. t.deepEqual(components[1], [5, 6], 'second component found')
  18. t.deepEqual(components[2], [8], 'third component found')
  19. t.deepEqual(components[3], [9], 'fourth component found')
  20. t.end();
  21. });