summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormo <mo.khan@gmail.com>2019-07-13 16:05:28 -0600
committermo <mo.khan@gmail.com>2019-07-13 16:05:28 -0600
commitd0ad2baedaa53bb6ff1bc79c12051e34793c5bee (patch)
tree4b7d46a66d208139e153f5d731f21970f8bd8a71 /src
parentf434c97421d82e93f20b948d3f504edf59c8c93a (diff)
validate day/month boundaries
Diffstat (limited to 'src')
-rw-r--r--src/Q6/WeekDay.java3
-rw-r--r--src/Q6/WeekDayTest.java24
2 files changed, 24 insertions, 3 deletions
diff --git a/src/Q6/WeekDay.java b/src/Q6/WeekDay.java
index e7ccc11..c1fb573 100644
--- a/src/Q6/WeekDay.java
+++ b/src/Q6/WeekDay.java
@@ -34,7 +34,8 @@ public class WeekDay {
}
private void ensureValidDate(int year, int month, int day) {
- if (day < 1 || day > MONTHS[month - 1]) throw new IllegalArgumentException();
+ if (month < 1 || month > 12 || day < 1 || day > MONTHS[month - 1])
+ throw new IllegalArgumentException();
}
public static void main(String[] args) {
diff --git a/src/Q6/WeekDayTest.java b/src/Q6/WeekDayTest.java
index 203d08f..ee2b8e1 100644
--- a/src/Q6/WeekDayTest.java
+++ b/src/Q6/WeekDayTest.java
@@ -67,7 +67,7 @@ public class WeekDayTest extends TestCase {
public void test_getWeekDay_day_too_large() {
boolean raised = false;
try {
- subject.getWeekDay(32, 1, 2100);
+ subject.getWeekDay(32, 1, 2019);
} catch (IllegalArgumentException error) {
raised = true;
}
@@ -77,7 +77,27 @@ public class WeekDayTest extends TestCase {
public void test_getWeekDay_day_too_small() {
boolean raised = false;
try {
- subject.getWeekDay(0, 1, 2100);
+ subject.getWeekDay(0, 1, 2019);
+ } catch (IllegalArgumentException error) {
+ raised = true;
+ }
+ assertTrue(raised);
+ }
+
+ public void test_getWeekDay_month_too_large() {
+ boolean raised = false;
+ try {
+ subject.getWeekDay(1, 13, 2019);
+ } catch (IllegalArgumentException error) {
+ raised = true;
+ }
+ assertTrue(raised);
+ }
+
+ public void test_getWeekDay_month_too_small() {
+ boolean raised = false;
+ try {
+ subject.getWeekDay(1, 0, 2019);
} catch (IllegalArgumentException error) {
raised = true;
}