diff --git a/app/src/androidTest/java/org/isoron/uhabits/receivers/PebbleReceiverTest.java b/app/src/androidTest/java/org/isoron/uhabits/receivers/PebbleReceiverTest.java deleted file mode 100644 index 631f2d396..000000000 --- a/app/src/androidTest/java/org/isoron/uhabits/receivers/PebbleReceiverTest.java +++ /dev/null @@ -1,173 +0,0 @@ -/* - * 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.pebble; - -import android.content.*; -import android.support.annotation.*; -import android.support.test.runner.*; -import android.test.suitebuilder.annotation.*; - -import com.getpebble.android.kit.*; -import com.getpebble.android.kit.util.*; - -import org.isoron.uhabits.*; -import org.isoron.uhabits.models.*; -import org.isoron.uhabits.receivers.*; -import org.json.*; -import org.junit.*; -import org.junit.runner.*; - -import static com.getpebble.android.kit.Constants.*; -import static org.hamcrest.MatcherAssert.*; -import static org.hamcrest.core.IsEqual.*; - -@RunWith(AndroidJUnit4.class) -@MediumTest -public class PebbleReceiverTest extends BaseAndroidTest -{ - - private Habit habit1; - - private Habit habit2; - - @Override - public void setUp() - { - super.setUp(); - - fixtures.purgeHabits(habitList); - - habit1 = fixtures.createEmptyHabit(); - habit1.setName("Exercise"); - - habit2 = fixtures.createEmptyHabit(); - habit2.setName("Meditate"); - } - - @Test - public void testCount() throws Exception - { - onPebbleReceived((dict) -> { - assertThat(dict.getString(0), equalTo("COUNT")); - assertThat(dict.getInteger(1), equalTo(2L)); - }); - - PebbleDictionary dict = buildCountRequest(); - sendFromPebbleToAndroid(dict); - awaitLatch(); - } - - @Test - public void testFetch() throws Exception - { - onPebbleReceived((dict) -> { - assertThat(dict.getString(0), equalTo("HABIT")); - assertThat(dict.getInteger(1), equalTo(habit2.getId())); - assertThat(dict.getString(2), equalTo(habit2.getName())); - assertThat(dict.getInteger(3), equalTo(0L)); - }); - - PebbleDictionary dict = buildFetchRequest(1); - sendFromPebbleToAndroid(dict); - awaitLatch(); - } - -// @Test -// public void testToggle() throws Exception -// { -// int v = habit1.getCheckmarks().getTodayValue(); -// assertThat(v, equalTo(Checkmark.UNCHECKED)); -// -// onPebbleReceived((dict) -> { -// assertThat(dict.getString(0), equalTo("OK")); -// int value = habit1.getCheckmarks().getTodayValue(); -// assertThat(value, equalTo(200)); //Checkmark.CHECKED_EXPLICITLY)); -// }); -// -// PebbleDictionary dict = buildToggleRequest(habit1.getId()); -// sendFromPebbleToAndroid(dict); -// awaitLatch(); -// } - - @NonNull - protected PebbleDictionary buildCountRequest() - { - PebbleDictionary dict = new PebbleDictionary(); - dict.addString(0, "COUNT"); - return dict; - } - - @NonNull - protected PebbleDictionary buildFetchRequest(int position) - { - PebbleDictionary dict = new PebbleDictionary(); - dict.addString(0, "FETCH"); - dict.addInt32(1, position); - return dict; - } - - protected void onPebbleReceived(PebbleProcessor processor) - { - BroadcastReceiver pebbleReceiver = new BroadcastReceiver() - { - @Override - public void onReceive(Context context, Intent intent) - { - try - { - String jsonData = intent.getStringExtra(MSG_DATA); - PebbleDictionary dict = PebbleDictionary.fromJson(jsonData); - processor.process(dict); - latch.countDown(); - targetContext.unregisterReceiver(this); - } - catch (JSONException e) - { - throw new RuntimeException(e); - } - } - }; - - IntentFilter filter = new IntentFilter(Constants.INTENT_APP_SEND); - targetContext.registerReceiver(pebbleReceiver, filter); - } - - protected void sendFromPebbleToAndroid(PebbleDictionary dict) - { - Intent intent = new Intent(Constants.INTENT_APP_RECEIVE); - intent.putExtra(Constants.APP_UUID, PebbleReceiver.WATCHAPP_UUID); - intent.putExtra(Constants.TRANSACTION_ID, 0); - intent.putExtra(Constants.MSG_DATA, dict.toJsonString()); - targetContext.sendBroadcast(intent); - } - - private PebbleDictionary buildToggleRequest(long habitId) - { - PebbleDictionary dict = new PebbleDictionary(); - dict.addString(0, "TOGGLE"); - dict.addInt32(1, (int) habitId); - return dict; - } - - interface PebbleProcessor - { - void process(PebbleDictionary dict); - } -}