StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics
https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
3.1 KiB
93 lines
3.1 KiB
4 years ago
|
'use strict';
|
||
|
|
||
|
var errcode = require('../index');
|
||
|
var expect = require('expect.js');
|
||
|
|
||
|
describe('errcode', function () {
|
||
|
describe('string as first argument', function () {
|
||
|
it('should create an error object without code', function () {
|
||
|
var err = errcode('my message');
|
||
|
|
||
|
expect(err).to.be.an(Error);
|
||
|
expect(err.hasOwnProperty(err.code)).to.be(false);
|
||
|
});
|
||
|
|
||
|
it('should create an error object with code', function () {
|
||
|
var err = errcode('my message', 'ESOME');
|
||
|
|
||
|
expect(err).to.be.an(Error);
|
||
|
expect(err.code).to.be('ESOME');
|
||
|
});
|
||
|
|
||
|
it('should create an error object with code and properties', function () {
|
||
|
var err = errcode('my message', 'ESOME', { foo: 'bar', bar: 'foo' });
|
||
|
|
||
|
expect(err).to.be.an(Error);
|
||
|
expect(err.code).to.be('ESOME');
|
||
|
expect(err.foo).to.be('bar');
|
||
|
expect(err.bar).to.be('foo');
|
||
|
});
|
||
|
|
||
|
it('should create an error object without code but with properties', function () {
|
||
|
var err = errcode('my message', { foo: 'bar', bar: 'foo' });
|
||
|
|
||
|
expect(err).to.be.an(Error);
|
||
|
expect(err.code).to.be(undefined);
|
||
|
expect(err.foo).to.be('bar');
|
||
|
expect(err.bar).to.be('foo');
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe('error as first argument', function () {
|
||
|
it('should accept an error and do nothing', function () {
|
||
|
var myErr = new Error('my message');
|
||
|
var err = errcode(myErr);
|
||
|
|
||
|
expect(err).to.be(myErr);
|
||
|
expect(err.hasOwnProperty(err.code)).to.be(false);
|
||
|
});
|
||
|
|
||
|
it('should accept an error and add a code', function () {
|
||
|
var myErr = new Error('my message');
|
||
|
var err = errcode(myErr, 'ESOME');
|
||
|
|
||
|
expect(err).to.be(myErr);
|
||
|
expect(err.code).to.be('ESOME');
|
||
|
});
|
||
|
|
||
|
it('should accept an error object and add code & properties', function () {
|
||
|
var myErr = new Error('my message');
|
||
|
var err = errcode(myErr, 'ESOME', { foo: 'bar', bar: 'foo' });
|
||
|
|
||
|
expect(err).to.be.an(Error);
|
||
|
expect(err.code).to.be('ESOME');
|
||
|
expect(err.foo).to.be('bar');
|
||
|
expect(err.bar).to.be('foo');
|
||
|
});
|
||
|
|
||
|
it('should create an error object without code but with properties', function () {
|
||
|
var myErr = new Error('my message');
|
||
|
var err = errcode(myErr, { foo: 'bar', bar: 'foo' });
|
||
|
|
||
|
expect(err).to.be.an(Error);
|
||
|
expect(err.code).to.be(undefined);
|
||
|
expect(err.foo).to.be('bar');
|
||
|
expect(err.bar).to.be('foo');
|
||
|
});
|
||
|
});
|
||
|
|
||
|
it('should allow passing null & undefined in the first argument', function () {
|
||
|
var err;
|
||
|
|
||
|
err = errcode(null, 'ESOME');
|
||
|
expect(err).to.be.an(Error);
|
||
|
expect(err.message).to.be('null');
|
||
|
expect(err.code).to.be('ESOME');
|
||
|
|
||
|
err = errcode(undefined, 'ESOME');
|
||
|
expect(err).to.be.an(Error);
|
||
|
expect(err.message).to.be('');
|
||
|
expect(err.code).to.be('ESOME');
|
||
|
});
|
||
|
});
|