Advertisement
Guest User

Untitled

a guest
Aug 21st, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. 'use strict';
  2. var app = function() {
  3.  
  4. var flatten = function(arr) {
  5. return arr.reduce(function(flat, toFlatten) {
  6. return flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten);
  7. }, []);
  8. };
  9.  
  10. var testsuite = function(suitename, testData) {
  11.  
  12. var results = {
  13. total: testData.length,
  14. passed: 0
  15. };
  16.  
  17. testData.forEach(function(pair) {
  18. var result = flatten(pair.input);
  19. if (result.toString() === pair.expected.toString()) {
  20. results.passed++;
  21. }
  22. });
  23. console.log('Suite: ' + suitename + ', Total: ' + results.total + ', Passed: ' + results.passed);
  24. };
  25.  
  26. var testData = [{
  27. input: [
  28. [1, 2, 3],
  29. [4, 5]
  30. ],
  31. expected: [1, 2, 3, 4, 5]
  32. }, {
  33. input: [
  34. [1, 2, [3]], 4
  35. ],
  36. expected: [1, 2, 3, 4]
  37. }, {
  38. input: [
  39. [1],
  40. [2, 3, [4, [5, 6], 7, 8]],
  41. [9]
  42. ],
  43. expected: [1, 2, 3, 4, 5, 6, 7, 8, 9]
  44. }];
  45.  
  46. testsuite('Test suite', testData);
  47. }();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement