UNPKG

dig

Version:

Graph algorithms

24 lines (20 loc) 998 B
require("../test-env"); describe("dig.util.radixSort(arr, k, keyFunc)", function() { it("matches Array.sort for single element keys", function() { var toSort = [5, 3, 6, 2, 0, 9, 11, 22, 21]; var keyFunc = function(_, x) { return x; } var sortFunc = function(x, y) { return x - y; } assert.deepEqual(toSort.slice(0).sort(sortFunc), dig.util.radixSort(toSort, 1, keyFunc)); }); it("matches Array.sort for multi-element keys", function() { var toSort = [[0, 12], [2, 1], [3, 6], [6, 3], [6, 2], [21, 13]]; var keyFunc = function(i, x) { return x[i]; } var sortFunc = function(x, y) { return x[0] - y[0] || x[1] - y[1]; } assert.deepEqual(toSort.slice(0).sort(sortFunc), dig.util.radixSort(toSort, 2, keyFunc)); }); it("throws an error if the return value is not a natural number", function() { var toSort = [0, -1, 1]; var keyFunc = function(_, x) { return x; } assert.throws(function() { dig.util.radixSort(toSort, 1, keyFunc); }); }); });