mirror of https://github.com/IoTcat/FDC.git
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.
77 lines
1.7 KiB
77 lines
1.7 KiB
|
|
'use strict'; |
|
|
|
var main = require('../package.json').main; |
|
var schedule = require('../' + main); |
|
|
|
module.exports = { |
|
"step defaults to 1": function(test) { |
|
var range = new schedule.Range(2, 6); |
|
|
|
test.equals(1, range.step); |
|
|
|
test.done(); |
|
}, |
|
"when step is 1": { |
|
"setUp": function(done) { |
|
this.range = new schedule.Range(2, 6, 1); |
|
|
|
done(); |
|
}, |
|
"includes start value": function(test) { |
|
test.ok(this.range.contains(2)); |
|
|
|
test.done(); |
|
}, |
|
"includes end value": function(test) { |
|
test.ok(this.range.contains(6)); |
|
|
|
test.done(); |
|
}, |
|
"includes value between start and end": function(test) { |
|
test.ok(this.range.contains(3)); |
|
|
|
test.done(); |
|
}, |
|
"excludes values outside of start and end": function(test) { |
|
test.ok(!this.range.contains(1)); |
|
test.ok(!this.range.contains(7)); |
|
|
|
test.done(); |
|
} |
|
}, |
|
"when step > 1": { |
|
"setUp": function(done) { |
|
this.range = new schedule.Range(2, 6, 2); |
|
|
|
done(); |
|
}, |
|
"includes start value": function(test) { |
|
test.ok(this.range.contains(2)); |
|
|
|
test.done(); |
|
}, |
|
"excludes end value": function(test) { |
|
test.ok(!this.range.contains(6)); |
|
|
|
test.done(); |
|
}, |
|
"includes value between start and end that is evenly divisible by step": function(test) { |
|
test.ok(this.range.contains(4)); |
|
|
|
test.done(); |
|
}, |
|
"excludes value between start and end that is not evenly divisible by step": function(test) { |
|
test.ok(!this.range.contains(5)); |
|
|
|
test.done(); |
|
}, |
|
"excludes values outside of start and end": function(test) { |
|
test.ok(!this.range.contains(1)); |
|
test.ok(!this.range.contains(7)); |
|
|
|
test.done(); |
|
} |
|
} |
|
|
|
};
|
|
|