-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtestRandomSelector.js
62 lines (57 loc) · 2.4 KB
/
testRandomSelector.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
'use strict';
var assert = require('chai').assert;
var Randomer = require('../src/randomer');
var RandomSelector = require('../src/randomSelector');
describe('Test randomSelector', function() {
before(function()
{
console.log("beforeSuite!", __dirname);
});
beforeEach(function() {
RandomSelector.prototype.DEBUG = false;
});
after(function() {
console.log("afterSuite!");
});
afterEach(function() {
RandomSelector.prototype.DEBUG = false;
});
describe('#constructor', function() {
it("Use custom randomer: randomer applied", function(){
var customRandomer = new Randomer('custom');
///RandomSelector.prototype.DEBUG = true;
var selector = new RandomSelector(customRandomer);
assert.equal(customRandomer.getTypeName(), selector.getRandomer().getTypeName());
selector.DEBUG = true;
selector.debug('DefaultRandomer', selector.getRandomer().getName());
assert.equal('custom', selector.getRandomer().getName());
});
it("Give no randomer, default randomer created", function(){
///RandomSelector.prototype.DEBUG = true;
var selector = new RandomSelector();
assert.equal("Randomer", selector.getRandomer().getTypeName());
assert.equal('DefaultRandomer', selector.getRandomer().getName());
});
});
describe('#Elements access', function() {
it("Empty elements: return empty element", function(){
///RandomSelector.prototype.DEBUG = true;
var selector = new RandomSelector();
assert.equal(0, selector.getElementCount());
assert.deepEqual([], selector.getElements());
});
});
describe('#Selecting', function() {
it("No element: return null", function(){
///RandomSelector.prototype.DEBUG = true;
var selector = new RandomSelector();
assert.equal(null, selector.select());
assert.equal(null, selector.selectWithReplacement());
assert.equal(null, selector.selectWithoutReplacement());
selector.setElements([]);
assert.equal(null, selector.select());
assert.equal(null, selector.selectWithReplacement());
assert.equal(null, selector.selectWithoutReplacement());
});
});
});