From f9da90a93ab18d99dd207fedbdbcac4a89da58c1 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Wed, 30 Mar 2016 21:02:05 -0400 Subject: [PATCH] Add tests for HabitStreakView --- .../assets/views/HabitStreakView/render.png | Bin 0 -> 12571 bytes .../views/HabitStreakView/renderSmallSize.png | Bin 0 -> 2891 bytes .../unit/views/HabitStreakViewTest.java | 64 ++++++++++++++++++ .../isoron/uhabits/views/HabitStreakView.java | 9 ++- 4 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 app/src/androidTest/assets/views/HabitStreakView/render.png create mode 100644 app/src/androidTest/assets/views/HabitStreakView/renderSmallSize.png create mode 100644 app/src/androidTest/java/org/isoron/uhabits/unit/views/HabitStreakViewTest.java diff --git a/app/src/androidTest/assets/views/HabitStreakView/render.png b/app/src/androidTest/assets/views/HabitStreakView/render.png new file mode 100644 index 0000000000000000000000000000000000000000..365231bffa698e0344143f2a4bfa0cd2e20a2733 GIT binary patch literal 12571 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 literal 0 HcmV?d00001 diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/views/HabitStreakViewTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/views/HabitStreakViewTest.java new file mode 100644 index 000000000..44699a276 --- /dev/null +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/views/HabitStreakViewTest.java @@ -0,0 +1,64 @@ +/* + * 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 android.util.Log; + +import org.isoron.uhabits.models.Habit; +import org.isoron.uhabits.unit.HabitFixtures; +import org.isoron.uhabits.views.HabitStreakView; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +@RunWith(AndroidJUnit4.class) +@SmallTest +public class HabitStreakViewTest extends ViewTest +{ + private HabitStreakView view; + + @Before + public void setup() + { + super.setup(); + + HabitFixtures.purgeHabits(); + Habit habit = HabitFixtures.createLongHabit(); + + view = new HabitStreakView(targetContext); + view.setHabit(habit); + measureView(dpToPixels(300), dpToPixels(100), view); + } + + @Test + public void render() throws Throwable + { + assertRenders(view, "HabitStreakView/render.png"); + } + + @Test + public void render_withSmallSize() throws Throwable + { + measureView(dpToPixels(100), dpToPixels(100), view); + assertRenders(view, "HabitStreakView/renderSmallSize.png"); + } +} diff --git a/app/src/main/java/org/isoron/uhabits/views/HabitStreakView.java b/app/src/main/java/org/isoron/uhabits/views/HabitStreakView.java index 95083a564..e3f1692e1 100644 --- a/app/src/main/java/org/isoron/uhabits/views/HabitStreakView.java +++ b/app/src/main/java/org/isoron/uhabits/views/HabitStreakView.java @@ -62,11 +62,16 @@ public class HabitStreakView extends View implements HabitDataView private boolean shouldShowLabels; private int maxStreakCount; + public HabitStreakView(Context context) + { + super(context); + init(); + } + public HabitStreakView(Context context, AttributeSet attrs) { super(context, attrs); this.primaryColor = ColorHelper.palette[7]; - streaks = Collections.emptyList(); init(); } @@ -83,6 +88,8 @@ public class HabitStreakView extends View implements HabitDataView createPaints(); createColors(); + streaks = Collections.emptyList(); + dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM); dateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); rect = new RectF();