33import org .junit .Test ;
44
55import java .util .Calendar ;
6- import java .util .Date ;
6+ import java .util .GregorianCalendar ;
77import java .util .HashMap ;
88import java .util .Map ;
99
@@ -15,33 +15,33 @@ public class ImpressionCounterTest {
1515
1616 @ Test
1717 public void testTruncateTimeFrame () {
18- assertThat (ImpressionCounter .truncateTimeframe (new Date (2020 , Calendar .SEPTEMBER , 2 , 10 , 53 , 12 ).getTime ()),
19- is (equalTo (new Date (2020 , Calendar .SEPTEMBER , 2 , 10 , 0 , 0 ).getTime ())));
20- assertThat (ImpressionCounter .truncateTimeframe (new Date (2020 , Calendar .SEPTEMBER , 2 , 10 , 00 , 00 ). getTime ()),
21- is (equalTo (new Date (2020 , Calendar .SEPTEMBER , 2 , 10 , 0 , 0 ).getTime ())));
22- assertThat (ImpressionCounter .truncateTimeframe (new Date (2020 , Calendar .SEPTEMBER , 2 , 10 , 53 , 00 ). getTime ()),
23- is (equalTo (new Date (2020 , Calendar .SEPTEMBER , 2 , 10 , 0 , 0 ).getTime ())));
24- assertThat (ImpressionCounter .truncateTimeframe (new Date (2020 , Calendar .SEPTEMBER , 2 , 10 , 00 , 12 ).getTime ()),
25- is (equalTo (new Date (2020 , Calendar .SEPTEMBER , 2 , 10 , 0 , 0 ).getTime ())));
26- assertThat (ImpressionCounter .truncateTimeframe (new Date (1970 , Calendar .JANUARY , 0 , 0 , 0 , 0 ).getTime ()),
27- is (equalTo (new Date (1970 , Calendar .JANUARY , 0 , 0 , 0 , 0 ).getTime ())));
18+ assertThat (ImpressionCounter .truncateTimeframe (new GregorianCalendar (2020 , Calendar .SEPTEMBER , 2 , 10 , 53 , 12 ).getTimeInMillis ()),
19+ is (equalTo (new GregorianCalendar (2020 , Calendar .SEPTEMBER , 2 , 10 , 0 , 0 ).getTimeInMillis ())));
20+ assertThat (ImpressionCounter .truncateTimeframe (new GregorianCalendar (2020 , Calendar .SEPTEMBER , 2 , 10 , 0 , 0 ). getTimeInMillis ()),
21+ is (equalTo (new GregorianCalendar (2020 , Calendar .SEPTEMBER , 2 , 10 , 0 , 0 ).getTimeInMillis ())));
22+ assertThat (ImpressionCounter .truncateTimeframe (new GregorianCalendar (2020 , Calendar .SEPTEMBER , 2 , 10 , 53 , 0 ). getTimeInMillis ()),
23+ is (equalTo (new GregorianCalendar (2020 , Calendar .SEPTEMBER , 2 , 10 , 0 , 0 ).getTimeInMillis ())));
24+ assertThat (ImpressionCounter .truncateTimeframe (new GregorianCalendar (2020 , Calendar .SEPTEMBER , 2 , 10 , 0 , 12 ).getTimeInMillis ()),
25+ is (equalTo (new GregorianCalendar (2020 , Calendar .SEPTEMBER , 2 , 10 , 0 , 0 ).getTimeInMillis ())));
26+ assertThat (ImpressionCounter .truncateTimeframe (new GregorianCalendar (1970 , Calendar .JANUARY , 0 , 0 , 0 , 0 ).getTimeInMillis ()),
27+ is (equalTo (new GregorianCalendar (1970 , Calendar .JANUARY , 0 , 0 , 0 , 0 ).getTimeInMillis ())));
2828 }
2929
3030 @ Test
3131 public void testMakeKey () {
32- assertThat (ImpressionCounter .makeKey ("someFeature" , new Date (2020 , Calendar .SEPTEMBER , 2 , 10 , 5 , 23 ).getTime ()),
33- is (equalTo ("someFeature::61557195600000 " )));
34- assertThat (ImpressionCounter .makeKey ("" , new Date (2020 , Calendar .SEPTEMBER , 2 , 10 , 5 , 23 ).getTime ()),
35- is (equalTo ("::61557195600000 " )));
36- assertThat (ImpressionCounter .makeKey (null , new Date (2020 , Calendar .SEPTEMBER , 2 , 10 , 5 , 23 ).getTime ()),
37- is (equalTo ("null::61557195600000 " )));
32+ assertThat (ImpressionCounter .makeKey ("someFeature" , new GregorianCalendar (2020 , Calendar .SEPTEMBER , 2 , 10 , 5 , 23 ).getTimeInMillis ()),
33+ is (equalTo ("someFeature::1599051600000 " )));
34+ assertThat (ImpressionCounter .makeKey ("" , new GregorianCalendar (2020 , Calendar .SEPTEMBER , 2 , 10 , 5 , 23 ).getTimeInMillis ()),
35+ is (equalTo ("::1599051600000 " )));
36+ assertThat (ImpressionCounter .makeKey (null , new GregorianCalendar (2020 , Calendar .SEPTEMBER , 2 , 10 , 5 , 23 ).getTimeInMillis ()),
37+ is (equalTo ("null::1599051600000 " )));
3838 assertThat (ImpressionCounter .makeKey (null , 0L ), is (equalTo ("null::0" )));
3939 }
4040
4141 @ Test
4242 public void testBasicUsage () {
4343 final ImpressionCounter counter = new ImpressionCounter ();
44- final long timestamp = new Date (2020 , Calendar .SEPTEMBER , 2 , 10 , 10 , 12 ).getTime ();
44+ final long timestamp = new GregorianCalendar (2020 , Calendar .SEPTEMBER , 2 , 10 , 10 , 12 ).getTimeInMillis ();
4545 counter .inc ("feature1" , timestamp , 1 );
4646 counter .inc ("feature1" , timestamp + 1 , 1 );
4747 counter .inc ("feature1" , timestamp + 2 , 1 );
@@ -53,7 +53,7 @@ public void testBasicUsage() {
5353 assertThat (counted .get (ImpressionCounter .makeKey ("feature2" , timestamp )), is (equalTo (4 )));
5454 assertThat (counter .popAll ().size (), is (equalTo (0 )));
5555
56- final long nextHourTimestamp = new Date (2020 , Calendar .SEPTEMBER , 2 , 11 , 10 , 12 ).getTime ();
56+ final long nextHourTimestamp = new GregorianCalendar (2020 , Calendar .SEPTEMBER , 2 , 11 , 10 , 12 ).getTimeInMillis ();
5757 counter .inc ("feature1" , timestamp , 1 );
5858 counter .inc ("feature1" , timestamp + 1 , 1 );
5959 counter .inc ("feature1" , timestamp + 2 , 1 );
@@ -76,8 +76,8 @@ public void testBasicUsage() {
7676 @ Test
7777 public void manyConcurrentCalls () throws InterruptedException {
7878 final int iterations = 10000000 ;
79- final long timestamp = new Date (2020 , Calendar .SEPTEMBER , 2 , 10 , 10 , 12 ).getTime ();
80- final long nextHourTimestamp = new Date (2020 , Calendar .SEPTEMBER , 2 , 11 , 10 , 12 ).getTime ();
79+ final long timestamp = new GregorianCalendar (2020 , Calendar .SEPTEMBER , 2 , 10 , 10 , 12 ).getTimeInMillis ();
80+ final long nextHourTimestamp = new GregorianCalendar (2020 , Calendar .SEPTEMBER , 2 , 11 , 10 , 12 ).getTimeInMillis ();
8181 ImpressionCounter counter = new ImpressionCounter ();
8282 Thread t1 = new Thread (() -> {
8383 int times = iterations ;
0 commit comments