From b2f2d4ad288a8834b5c9718377d8e15ad2ad0978 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Thu, 31 Mar 2016 07:24:43 -0400 Subject: [PATCH] Add tests for UnarchiveHabitsCommand --- .../commands/UnarchiveHabitsCommandTest.java | 72 +++++++++++++++++++ .../commands/UnarchiveHabitsCommand.java | 7 -- 2 files changed, 72 insertions(+), 7 deletions(-) create mode 100644 app/src/androidTest/java/org/isoron/uhabits/unit/commands/UnarchiveHabitsCommandTest.java diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/commands/UnarchiveHabitsCommandTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/commands/UnarchiveHabitsCommandTest.java new file mode 100644 index 000000000..bcc460d09 --- /dev/null +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/commands/UnarchiveHabitsCommandTest.java @@ -0,0 +1,72 @@ +/* + * 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.commands; + +import android.support.test.runner.AndroidJUnit4; +import android.test.suitebuilder.annotation.SmallTest; + +import org.isoron.uhabits.BaseTest; +import org.isoron.uhabits.commands.ArchiveHabitsCommand; +import org.isoron.uhabits.commands.UnarchiveHabitsCommand; +import org.isoron.uhabits.models.Habit; +import org.isoron.uhabits.unit.HabitFixtures; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.util.Collections; + +import static junit.framework.Assert.assertFalse; +import static junit.framework.Assert.assertTrue; + +@RunWith(AndroidJUnit4.class) +@SmallTest +public class UnarchiveHabitsCommandTest extends BaseTest +{ + + private UnarchiveHabitsCommand command; + private Habit habit; + + @Before + public void setup() + { + super.setup(); + + habit = HabitFixtures.createShortHabit(); + Habit.archive(Collections.singletonList(habit)); + + command = new UnarchiveHabitsCommand(Collections.singletonList(habit)); + } + + @Test + public void executeUndoRedo() + { + assertTrue(habit.isArchived()); + + command.execute(); + assertFalse(habit.isArchived()); + + command.undo(); + assertTrue(habit.isArchived()); + + command.execute(); + assertFalse(habit.isArchived()); + } +} diff --git a/app/src/main/java/org/isoron/uhabits/commands/UnarchiveHabitsCommand.java b/app/src/main/java/org/isoron/uhabits/commands/UnarchiveHabitsCommand.java index 79bd01d6e..612481fa7 100644 --- a/app/src/main/java/org/isoron/uhabits/commands/UnarchiveHabitsCommand.java +++ b/app/src/main/java/org/isoron/uhabits/commands/UnarchiveHabitsCommand.java @@ -22,7 +22,6 @@ package org.isoron.uhabits.commands; import org.isoron.uhabits.R; import org.isoron.uhabits.models.Habit; -import java.util.LinkedList; import java.util.List; public class UnarchiveHabitsCommand extends Command @@ -30,12 +29,6 @@ public class UnarchiveHabitsCommand extends Command private List habits; - public UnarchiveHabitsCommand(Habit habit) - { - habits = new LinkedList<>(); - habits.add(habit); - } - public UnarchiveHabitsCommand(List habits) { this.habits = habits;