When one of these checks fails, the error message is not very helpful, as it does not provide enough details.

I would at least change every block of two `expect` calls to this:

```js
expect(routes[4].route, 'route[4]').to.eql({verb: 'delete', path: '/' });
```

Even better would be to check the whole array. Since `eql` compares array items using strict equal AFAIK, you cannot simply expect on array of routes. Here is the solution:

```js
var actualRoutes = routes.map(function(r) { return r.verb + ' ' + r.path; };
expect(actualRoutes).to.eql([
  'get /findOne',
  'get /:id',
  'del /:id',
  'delete /'
]);
```

One more rant: it's not clear why did you choose these specific four examples. Will three examples be enough? Will different random examples be good too? You should at least add comments explaining why did you choose each route, e.g. which sorting rule it is testing.

Of course, the best solution would be to split this test into multiple test, each verifying one of the sorting rules (empty part, wildcard, regular names; del=delete alias), but I can live without that.