Browse Source

Added some tests for the Clock class.

master
Bryan Miller 5 years ago
parent
commit
fcdf419a6b
1 changed files with 38 additions and 0 deletions
  1. +38
    -0
      test/unit.src.common.clock.spec.js

+ 38
- 0
test/unit.src.common.clock.spec.js View File

@@ -0,0 +1,38 @@
const expect = require('chai').expect;
const sinon = require('sinon');
const Clock = require('../src/common/clock.js');

describe("Clock Tests", function(){
var count = 0;
var tick = ()=>{count += 1;};
var clk = (new Clock()).clk(tick);

function speedTest(hz){
let stime = (new Date()).getTime();
let dt = 0;
clk.hz = hz;
while (count < hz && dt < 1000){
clk.tick();
dt = ((new Date()).getTime()) - stime;
}
return dt;
}

it("4hz for approx. 1 second", function(){
let dt = speedTest(4);
expect(count).to.equal(4);
expect(dt).to.be.gt(750);
});

it("4Khz for approx. 1 second", function(){
let dt = speedTest(4000);
expect(count).to.be.lt(4004);
expect(dt).to.be.lt(1000);
});

it("4Mhz for approx. 1 second", function(){
let dt = speedTest(4000000);
expect(count).to.be.lt(4000004);
expect(dt).to.be.lt(1000);
});
});

Loading…
Cancel
Save