From 47b2cc7dd2eb509a70dbdd4c40983261c742b2a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alf=20Lerv=C3=A5g?= Date: Wed, 23 Sep 2015 12:02:00 +0200 Subject: [PATCH 1/2] Specify the timezone for the tests If we don't specify the timezone, the DST tests will fail for those who're not lucky enough to live close to Frode Carlsen. --- src/test/java/fc/cron/CronExpressionTest.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/test/java/fc/cron/CronExpressionTest.java b/src/test/java/fc/cron/CronExpressionTest.java index 482fdea..277f42b 100644 --- a/src/test/java/fc/cron/CronExpressionTest.java +++ b/src/test/java/fc/cron/CronExpressionTest.java @@ -21,18 +21,24 @@ import java.util.Arrays; import java.util.HashSet; import java.util.Set; -import fc.cron.CronExpression; +import org.joda.time.DateTime; +import org.joda.time.DateTimeZone; +import org.joda.time.Hours; +import org.joda.time.LocalDate; +import org.junit.Before; +import org.junit.Test; + import fc.cron.CronExpression.CronFieldType; import fc.cron.CronExpression.DayOfMonthField; import fc.cron.CronExpression.DayOfWeekField; import fc.cron.CronExpression.SimpleField; -import org.joda.time.DateTime; -import org.joda.time.Hours; -import org.joda.time.LocalDate; -import org.junit.Test; - public class CronExpressionTest { + @Before + public void setUp() { + DateTimeZone myZone = DateTimeZone.forID("Europe/Oslo"); + DateTimeZone.setDefault(myZone); + } @Test public void shall_parse_number() throws Exception { @@ -233,7 +239,7 @@ public class CronExpressionTest { assertThat(new CronExpression("0 * 7,19 * * *").nextTimeAfter(new DateTime(2012, 4, 10, 19, 00))).isEqualTo(new DateTime(2012, 4, 10, 19, 01)); assertThat(new CronExpression("0 * 7,19 * * *").nextTimeAfter(new DateTime(2012, 4, 10, 19, 59))).isEqualTo(new DateTime(2012, 4, 11, 07, 00)); } - + @Test public void check_hour_shall_run_25_times_in_DST_change_to_wintertime() throws Exception { CronExpression cron = new CronExpression("0 1 * * * *"); @@ -252,7 +258,7 @@ public class CronExpressionTest { } assertThat(count).isEqualTo(25); } - + @Test public void check_hour_shall_run_23_times_in_DST_change_to_summertime() throws Exception { CronExpression cron = new CronExpression("0 0 * * * *"); From cd29bda6b579476d0614dcdbde18130e92db6fab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alf=20Lerv=C3=A5g?= Date: Wed, 23 Sep 2015 12:48:06 +0200 Subject: [PATCH 2/2] Revert timezone to the default after the test --- src/test/java/fc/cron/CronExpressionTest.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/test/java/fc/cron/CronExpressionTest.java b/src/test/java/fc/cron/CronExpressionTest.java index 277f42b..a9d10d8 100644 --- a/src/test/java/fc/cron/CronExpressionTest.java +++ b/src/test/java/fc/cron/CronExpressionTest.java @@ -25,6 +25,7 @@ import org.joda.time.DateTime; import org.joda.time.DateTimeZone; import org.joda.time.Hours; import org.joda.time.LocalDate; +import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -34,10 +35,17 @@ import fc.cron.CronExpression.DayOfWeekField; import fc.cron.CronExpression.SimpleField; public class CronExpressionTest { + DateTimeZone original; + @Before public void setUp() { - DateTimeZone myZone = DateTimeZone.forID("Europe/Oslo"); - DateTimeZone.setDefault(myZone); + original = DateTimeZone.getDefault(); + DateTimeZone.setDefault(DateTimeZone.forID("Europe/Oslo")); + } + + @After + public void tearDown() { + DateTimeZone.setDefault(original); } @Test