Skip to content

Commit 84f8e97

Browse files
committed
add test for daterange
1 parent 09da26d commit 84f8e97

1 file changed

Lines changed: 91 additions & 0 deletions

File tree

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
import { assert } from "chai";
2+
import { date_range } from '../../dist/danfojs-node/src';
3+
4+
5+
describe("date_range", function(){
6+
7+
// it("Obtain date between start and end specified", function(){
8+
// let d = date_range({start:'2018-04-24',end:'2018-04-27'})
9+
// let rslt = [
10+
// '4/24/2018, 1:00:00 AM',
11+
// '4/25/2018, 1:00:00 AM',
12+
// '4/26/2018, 1:00:00 AM',
13+
// '4/27/2018, 1:00:00 AM'
14+
// ]
15+
// assert.deepEqual(d,rslt)
16+
// });
17+
it("Obtain date between start with end not specified, but period and freq specified", function(){
18+
let d = date_range({ start:'1/1/2018', period:5, freq:'M' });
19+
let rslt = [
20+
'1/1/2018, 12:00:00 AM',
21+
'2/1/2018, 12:00:00 AM',
22+
'3/1/2018, 12:00:00 AM',
23+
'4/1/2018, 12:00:00 AM',
24+
'5/1/2018, 12:00:00 AM'
25+
];
26+
assert.deepEqual(d, rslt);
27+
});
28+
it("Obtain date between start with end not specified, but period and freq specified, plus offset", function(){
29+
let d = date_range({ start:'1/1/2018', period:5, freq:'3M' });
30+
let rslt = [
31+
'1/1/2018, 12:00:00 AM',
32+
'4/1/2018, 12:00:00 AM',
33+
'7/1/2018, 12:00:00 AM',
34+
'10/1/2018, 12:00:00 AM',
35+
'1/1/2019, 12:00:00 AM'
36+
];
37+
assert.deepEqual(d, rslt);
38+
});
39+
it("Obtain date between start with end not specified, but period and freq specified, plus offset, longer freq", function(){
40+
let d = date_range({ start:'1/1/2018', period:5, freq:'35m' });
41+
let rslt = [
42+
"1/1/2018, 12:00:00 AM",
43+
"1/1/2018, 12:35:00 AM",
44+
"1/1/2018, 1:10:00 AM",
45+
"1/1/2018, 1:45:00 AM",
46+
"1/1/2018, 2:20:00 AM"
47+
];
48+
assert.deepEqual(d, rslt);
49+
});
50+
it("Obtain date range with start not specified but end and period is given", function(){
51+
let d = date_range({ end:'1/1/2018', period:8 });
52+
let rslt = [
53+
'12/25/2017, 12:00:00 AM',
54+
'12/26/2017, 12:00:00 AM',
55+
'12/27/2017, 12:00:00 AM',
56+
'12/28/2017, 12:00:00 AM',
57+
'12/29/2017, 12:00:00 AM',
58+
'12/30/2017, 12:00:00 AM',
59+
'12/31/2017, 12:00:00 AM',
60+
'1/1/2018, 12:00:00 AM'
61+
];
62+
assert.deepEqual(d, rslt);
63+
});
64+
it("inputing wrong freq", function(){
65+
assert.throws(function () { date_range({ end:'1/1/2018', period:8, freq:"d" }); }, Error, 'invalid freq d');
66+
});
67+
it("inputing wrong freq with offset", function(){
68+
assert.throws(function () { date_range({ end:'1/1/2018', period:8, freq:"4d" }); }, Error, 'invalid freq d');
69+
});
70+
it("inputing wrong freq offset", function(){
71+
assert.throws(function () { date_range({ end:'1/1/2018', period:8, freq:"abcm" }); }, Error, 'invalid freq offset abc');
72+
});
73+
// it("Obtain date between start and end specified with different month", function(){
74+
75+
// let d = date_range({start:'2018-04-24',end:'2018-05-27'})
76+
// let rslt = [
77+
// '4/24/2018, 1:00:00 AM',
78+
// '4/25/2018, 1:00:00 AM',
79+
// '4/26/2018, 1:00:00 AM',
80+
// '4/27/2018, 1:00:00 AM',
81+
// '4/28/2018, 1:00:00 AM',
82+
// '4/29/2018, 1:00:00 AM',
83+
// '4/30/2018, 1:00:00 AM',
84+
// '5/1/2018, 1:00:00 AM',
85+
// '5/2/2018, 1:00:00 AM',
86+
// '5/3/2018, 1:00:00 AM',
87+
// '5/27/2018, 1:00:00 AM'
88+
// ]
89+
// assert.deepEqual(d,rslt)
90+
// });
91+
});

0 commit comments

Comments
 (0)