From b5cd4584b293005f7130b26cd182134163885daf Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Fri, 2 Sep 2016 21:02:38 -0400 Subject: [PATCH] Disallow empty WeekdayLists --- .../main/java/org/isoron/uhabits/models/WeekdayList.java | 7 ++++++- .../java/org/isoron/uhabits/models/WeekdayListTest.java | 7 +++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/isoron/uhabits/models/WeekdayList.java b/app/src/main/java/org/isoron/uhabits/models/WeekdayList.java index 5b6762ead..21a35b97a 100644 --- a/app/src/main/java/org/isoron/uhabits/models/WeekdayList.java +++ b/app/src/main/java/org/isoron/uhabits/models/WeekdayList.java @@ -29,9 +29,10 @@ public class WeekdayList public WeekdayList(int packedList) { + if(packedList == 0) packedList = 127; weekdays = new boolean[7]; - int current = 1; + int current = 1; for (int i = 0; i < 7; i++) { if ((packedList & current) != 0) weekdays[i] = true; @@ -41,6 +42,10 @@ public class WeekdayList public WeekdayList(boolean weekdays[]) { + boolean isEmpty = true; + for(boolean b : weekdays) if(b) isEmpty = false; + if(isEmpty) throw new IllegalArgumentException("empty list"); + this.weekdays = Arrays.copyOf(weekdays, 7); } diff --git a/app/src/test/java/org/isoron/uhabits/models/WeekdayListTest.java b/app/src/test/java/org/isoron/uhabits/models/WeekdayListTest.java index 75ef1afd9..c8493cd87 100644 --- a/app/src/test/java/org/isoron/uhabits/models/WeekdayListTest.java +++ b/app/src/test/java/org/isoron/uhabits/models/WeekdayListTest.java @@ -43,4 +43,11 @@ public class WeekdayListTest extends BaseUnitTest assertThat(list.toArray(), equalTo(daysArray)); assertThat(list.toInteger(), equalTo(daysInt)); } + + @Test + public void testEmpty() + { + WeekdayList list = new WeekdayList(0); + assertThat(list.toArray(), equalTo(WeekdayList.EVERY_DAY.toArray())); + } }