From bc331d0a4ddb73d23fe57e50d8968e06c9b9d81a Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Wed, 30 Mar 2016 08:28:21 -0400 Subject: [PATCH] Write tests for HabitHistoryView --- .../assets/views/HabitHistoryView/render.png | Bin 0 -> 37554 bytes .../HabitHistoryView/renderDataOffset.png | Bin 0 -> 30245 bytes .../HabitHistoryView/renderDifferentSize.png | Bin 0 -> 35587 bytes .../unit/views/HabitHistoryViewTest.java | 102 ++++++++++++++++++ .../uhabits/tasks/ToggleRepetitionTask.java | 58 ++++++++++ .../uhabits/views/HabitHistoryView.java | 46 ++++---- 6 files changed, 184 insertions(+), 22 deletions(-) create mode 100644 app/src/androidTest/assets/views/HabitHistoryView/render.png create mode 100644 app/src/androidTest/assets/views/HabitHistoryView/renderDataOffset.png create mode 100644 app/src/androidTest/assets/views/HabitHistoryView/renderDifferentSize.png create mode 100644 app/src/androidTest/java/org/isoron/uhabits/unit/views/HabitHistoryViewTest.java create mode 100644 app/src/main/java/org/isoron/uhabits/tasks/ToggleRepetitionTask.java diff --git a/app/src/androidTest/assets/views/HabitHistoryView/render.png b/app/src/androidTest/assets/views/HabitHistoryView/render.png new file mode 100644 index 0000000000000000000000000000000000000000..92bfa3727237bb12798e79784cb7a3861265eb4e GIT binary patch literal 37554 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 AzW@LL literal 0 HcmV?d00001 diff --git a/app/src/androidTest/assets/views/HabitHistoryView/renderDataOffset.png b/app/src/androidTest/assets/views/HabitHistoryView/renderDataOffset.png new file mode 100644 index 0000000000000000000000000000000000000000..cb20ba2866a8358b4039481856d2867f928f9b7d GIT binary patch literal 30245 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

?%Mt3Q@2viLOnyAQ=WmB3~9KYn3Ss@(0-M-RcrJ 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 B*8l(j literal 0 HcmV?d00001 diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/views/HabitHistoryViewTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/views/HabitHistoryViewTest.java new file mode 100644 index 000000000..379db57a9 --- /dev/null +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/views/HabitHistoryViewTest.java @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2016 Álinson Santos Xavier + * + * This file is part of Loop Habit Tracker. + * + * Loop Habit Tracker is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * Loop Habit Tracker is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +package org.isoron.uhabits.unit.views; + +import android.support.test.runner.AndroidJUnit4; +import android.test.suitebuilder.annotation.SmallTest; + +import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.models.Habit; +import org.isoron.uhabits.unit.HabitFixtures; +import org.isoron.uhabits.views.HabitHistoryView; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +import static junit.framework.Assert.assertFalse; +import static junit.framework.Assert.assertTrue; + +@RunWith(AndroidJUnit4.class) +@SmallTest +public class HabitHistoryViewTest extends ViewTest +{ + private Habit habit; + private HabitHistoryView view; + + @Before + public void setup() + { + super.setup(); + + HabitFixtures.purgeHabits(); + HabitFixtures.fixTime(); + + habit = HabitFixtures.createLongHabit(); + + view = new HabitHistoryView(targetContext); + view.setHabit(habit); + measureView(dpToPixels(300), dpToPixels(100), view); + } + + @Test + public void render() throws Throwable + { + assertRenders(view, "HabitHistoryView/render.png"); + } + + @Test + public void render_withDifferentSize() throws Throwable + { + measureView(dpToPixels(200), dpToPixels(200), view); + assertRenders(view, "HabitHistoryView/renderDifferentSize.png"); + } + + @Test + public void render_withDataOffset() throws Throwable + { + view.onScroll(null, null, -300, 0); + view.invalidate(); + + assertRenders(view, "HabitHistoryView/renderDataOffset.png"); + } + + @Test + public void tapDate_withEditableView() throws Throwable + { + view.setIsEditable(true); + tap(view, 280, 30); + waitForAsyncTasks(); + + long today = DateHelper.getStartOfToday(); + assertFalse(habit.repetitions.contains(today)); + } + + @Test + public void tapDate_withReadOnlyView() throws Throwable + { + view.setIsEditable(false); + tap(view, 280, 30); + waitForAsyncTasks(); + + long today = DateHelper.getStartOfToday(); + assertTrue(habit.repetitions.contains(today)); + } + +} diff --git a/app/src/main/java/org/isoron/uhabits/tasks/ToggleRepetitionTask.java b/app/src/main/java/org/isoron/uhabits/tasks/ToggleRepetitionTask.java new file mode 100644 index 000000000..bece42414 --- /dev/null +++ b/app/src/main/java/org/isoron/uhabits/tasks/ToggleRepetitionTask.java @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2016 Álinson Santos Xavier + * + * This file is part of Loop Habit Tracker. + * + * Loop Habit Tracker is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * Loop Habit Tracker is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +package org.isoron.uhabits.tasks; + +import org.isoron.uhabits.models.Habit; + +public class ToggleRepetitionTask extends BaseTask +{; + public interface Listener { + void onToggleRepetitionFinished(); + } + + private Listener listener; + private final Habit habit; + private final Long timestamp; + + public ToggleRepetitionTask(Habit habit, Long timestamp) + { + this.timestamp = timestamp; + this.habit = habit; + } + + @Override + protected Void doInBackground(Void... params) + { + habit.repetitions.toggle(timestamp); + return null; + } + + @Override + protected void onPostExecute(Void aVoid) + { + if(listener != null) listener.onToggleRepetitionFinished(); + super.onPostExecute(null); + } + + public void setListener(Listener listener) + { + this.listener = listener; + } +} \ No newline at end of file diff --git a/app/src/main/java/org/isoron/uhabits/views/HabitHistoryView.java b/app/src/main/java/org/isoron/uhabits/views/HabitHistoryView.java index 9a8c32020..462277ce9 100644 --- a/app/src/main/java/org/isoron/uhabits/views/HabitHistoryView.java +++ b/app/src/main/java/org/isoron/uhabits/views/HabitHistoryView.java @@ -25,14 +25,14 @@ import android.graphics.Color; import android.graphics.Paint; import android.graphics.Paint.Align; import android.graphics.Rect; -import android.os.AsyncTask; import android.util.AttributeSet; import android.view.MotionEvent; +import org.isoron.uhabits.R; import org.isoron.uhabits.helpers.ColorHelper; import org.isoron.uhabits.helpers.DateHelper; -import org.isoron.uhabits.R; import org.isoron.uhabits.models.Habit; +import org.isoron.uhabits.tasks.ToggleRepetitionTask; import java.text.SimpleDateFormat; import java.util.Calendar; @@ -40,7 +40,8 @@ import java.util.GregorianCalendar; import java.util.Locale; import java.util.Random; -public class HabitHistoryView extends ScrollableDataView implements HabitDataView +public class HabitHistoryView extends ScrollableDataView implements HabitDataView, + ToggleRepetitionTask.Listener { private Habit habit; private int[] checkmarks; @@ -69,12 +70,15 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie private int textColor; private boolean isEditable; + public HabitHistoryView(Context context) + { + super(context); + init(); + } + public HabitHistoryView(Context context, AttributeSet attrs) { super(context, attrs); - this.primaryColor = ColorHelper.palette[7]; - this.checkmarks = new int[0]; - this.isEditable = false; init(); } @@ -92,6 +96,9 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie createPaints(); createColors(); + isEditable = false; + checkmarks = new int[0]; + primaryColor = ColorHelper.palette[7]; wdays = DateHelper.getShortDayNames(); dfMonth = new SimpleDateFormat("MMM", Locale.getDefault()); dfYear = new SimpleDateFormat("yyyy", Locale.getDefault()); @@ -344,22 +351,9 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie final Long timestamp = positionToTimestamp(x, y); if(timestamp == null) return false; - new AsyncTask() - { - @Override - protected Void doInBackground(Void... params) - { - habit.repetitions.toggle(timestamp); - return null; - } - - @Override - protected void onPostExecute(Void aVoid) - { - refreshData(); - invalidate(); - } - }.execute(); + ToggleRepetitionTask task = new ToggleRepetitionTask(habit, timestamp); + task.setListener(this); + task.execute(); return true; } @@ -386,4 +380,12 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie { this.isEditable = isEditable; } + + + @Override + public void onToggleRepetitionFinished() + { + refreshData(); + invalidate(); + } }