| import { assert } from 'chai'; |
| import { ticks } from './ticks'; |
| |
| describe('ticks()', () => { |
| it('handles months', () => { |
| const ts = [ |
| new Date(2014, 6, 1, 0, 0, 0, 0), |
| new Date(2014, 7, 1, 0, 0, 0, 0), |
| new Date(2014, 7, 2, 0, 0, 0, 0), |
| new Date(2014, 9, 1, 0, 0, 0, 0), |
| ]; |
| |
| assert.deepEqual(ticks(ts), [ |
| { x: 0, text: 'Jul' }, |
| { x: 1, text: 'Aug' }, |
| { x: 3, text: 'Oct' }, |
| ]); |
| }); |
| |
| it('handles day of month', () => { |
| const ts = [ |
| new Date(2014, 6, 1, 0, 0, 0, 0), |
| new Date(2014, 6, 3, 0, 0, 0, 0), |
| new Date(2014, 6, 5, 0, 0, 0, 0), |
| new Date(2014, 6, 7, 0, 0, 0, 0), |
| new Date(2014, 6, 9, 0, 0, 0, 0), |
| ]; |
| |
| assert.deepEqual(ticks(ts), [ |
| { x: 0, text: 'Jul 1' }, |
| { x: 1, text: 'Jul 3' }, |
| { x: 2, text: 'Jul 5' }, |
| { x: 3, text: 'Jul 7' }, |
| { x: 4, text: 'Jul 9' }, |
| ]); |
| }); |
| |
| it('handles weekdays', () => { |
| const ts = [ |
| new Date(2014, 6, 1, 6, 0, 0, 0), |
| new Date(2014, 6, 2, 5, 0, 0, 0), |
| new Date(2014, 6, 3, 4, 0, 0, 0), |
| new Date(2014, 6, 5, 3, 0, 0, 0), |
| new Date(2014, 6, 7, 2, 0, 0, 0), |
| ]; |
| |
| assert.deepEqual(ticks(ts), [ |
| { x: 0, text: 'Tue, 6 AM' }, |
| { x: 1, text: 'Wed, 5 AM' }, |
| { x: 2, text: 'Thu, 4 AM' }, |
| { x: 3, text: 'Sat, 3 AM' }, |
| { x: 4, text: 'Mon, 2 AM' }, |
| ]); |
| }); |
| |
| it('handles hours', () => { |
| const ts = [ |
| new Date(2014, 6, 1, 10, 0, 0, 0), |
| new Date(2014, 6, 1, 11, 0, 0, 0), |
| new Date(2014, 6, 1, 12, 0, 0, 0), |
| new Date(2014, 6, 1, 13, 0, 0, 0), |
| new Date(2014, 6, 1, 15, 0, 0, 0), |
| ]; |
| |
| assert.deepEqual(ticks(ts), [ |
| { x: 0, text: '10 AM' }, |
| { x: 1, text: '11 AM' }, |
| { x: 2, text: '12 PM' }, |
| { x: 3, text: '1 PM' }, |
| { x: 4, text: '3 PM' }, |
| ]); |
| }); |
| |
| it('handles minutes and decimation', () => { |
| const ts = [ |
| new Date(2014, 6, 1, 1, 1, 0, 0), |
| new Date(2014, 6, 1, 1, 2, 0, 0), |
| new Date(2014, 6, 1, 1, 3, 0, 0), |
| new Date(2014, 6, 1, 1, 4, 0, 0), |
| new Date(2014, 6, 1, 1, 5, 0, 0), |
| new Date(2014, 6, 1, 1, 6, 0, 0), |
| new Date(2014, 6, 1, 1, 7, 0, 0), |
| new Date(2014, 6, 1, 1, 8, 0, 0), |
| new Date(2014, 6, 1, 1, 9, 0, 0), |
| new Date(2014, 6, 1, 1, 10, 0, 0), |
| new Date(2014, 6, 1, 1, 11, 0, 0), |
| new Date(2014, 6, 1, 1, 12, 0, 0), |
| ]; |
| |
| // Also tests decimation. |
| assert.deepEqual(ticks(ts), [ |
| { x: 1, text: '1:02 AM' }, |
| { x: 3, text: '1:04 AM' }, |
| { x: 5, text: '1:06 AM' }, |
| { x: 7, text: '1:08 AM' }, |
| { x: 9, text: '1:10 AM' }, |
| { x: 11, text: '1:12 AM' }, |
| ]); |
| }); |
| |
| it('handles seconds', () => { |
| const ts = [ |
| new Date(2014, 6, 1, 1, 1, 10, 0), |
| new Date(2014, 6, 1, 1, 1, 11, 0), |
| new Date(2014, 6, 1, 1, 1, 12, 0), |
| new Date(2014, 6, 1, 1, 1, 13, 0), |
| ]; |
| |
| // Also tests decimation. |
| assert.deepEqual(ticks(ts), [ |
| { x: 0, text: '1:01:10 AM' }, |
| { x: 1, text: '1:01:11 AM' }, |
| { x: 2, text: '1:01:12 AM' }, |
| { x: 3, text: '1:01:13 AM' }, |
| ]); |
| }); |
| }); |