UNPKG

@leverj/microtime.js

Version:

Utility to convert microtime into second, minute, etc

45 lines (40 loc) 1.61 kB
const expect = require('expect.js') const microTime = require('../index.js') describe("micro time", function () { describe("compare micro time accuracy", function () { it("should be congruent with Date.now() within 10ms", function () { for (let i = 0; i < 10; i++) { const dateNowMs = Date.now() const microNowMs = Math.round(microTime.micro() / 1e3) const diffWithin10Ms = Math.floor((microNowMs - dateNowMs) / 10) expect(diffWithin10Ms).to.eql(0) } }) it.skip("should give increasing values every time", function () { this.timeout(0) let prev = microTime.micro() for (let i = 0; i < 10; i++) { const currentReading = microTime.micro() // if (i % 1 === 0) expect( currentReading).to.be.greaterThan(prev) if(currentReading === prev) expect().fail(i + ': time did not change') prev = currentReading } }) }) describe("time conversion", function () { const tests = [ {d: "microToMilli", m: microTime.microToMilli, in: 1e3, out: 1}, {d: "microToSec", m: microTime.microToSec, in: 1e6, out: 1}, {d: "microToMin", m: microTime.microToMin, in: 60 * 1e6, out: 1}, {d: "milliToMicro", m: microTime.milliToMicro, in: 1, out: 1e3}, {d: "milliToSec", m: microTime.milliToSec, in: 1000, out: 1}, {d: "secToMicro", m: microTime.secToMicro, in: 1, out: 1e6}, {d: "minToSec", m: microTime.minToSec, in: 1, out: 60} ] tests.forEach(test => { it(test.d, function () { expect(test.m(test.in)).to.be.equal(test.out) }) }) }) })