-
-
Notifications
You must be signed in to change notification settings - Fork 253
Expand file tree
/
Copy pathLoyaltyCardEditActivityTest.java
More file actions
85 lines (66 loc) · 2.3 KB
/
Copy pathLoyaltyCardEditActivityTest.java
File metadata and controls
85 lines (66 loc) · 2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package protect.card_locker;
import android.widget.TextView;
import android.content.SharedPreferences;
import androidx.preference.PreferenceManager;
import org.junit.Before;
import org.junit.Test;
import org.junit.After;
import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.android.controller.ActivityController;
import org.robolectric.RobolectricTestRunner;
import java.util.Currency;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import protect.card_locker.preferences.Settings;
@RunWith(RobolectricTestRunner.class)
public class LoyaltyCardEditActivityTest {
private ActivityController<LoyaltyCardEditActivity> controller;
private LoyaltyCardEditActivity activity;
@Before
public void setUp() {
controller = Robolectric.buildActivity(LoyaltyCardEditActivity.class);
activity = controller.get();
}
@After
public void tearDown() {
if (activity != null && activity.mDatabase != null && activity.mDatabase.isOpen()) {
activity.mDatabase.close();
}
}
@Test
public void onCreate_setsBalanceTypeFromSettings_SEK() {
Currency currency = Currency.getInstance("SEK");
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(activity);
prefs.edit()
.putString(
activity.getString(R.string.settings_key_default_currency),
currency.getSymbol()
)
.commit();
controller.create();
assertEquals(currency, activity.viewModel.getLoyaltyCard().balanceType);
controller.resume();
TextView field = activity.findViewById(R.id.balanceCurrencyField);
assertNotNull(field);
assertEquals(
currency.getSymbol(),
field.getText().toString()
);
}
@Test
public void onCreate_setsBalanceTypeWhenSettingsNull_points() {
controller.create();
assertEquals(
null,
activity.viewModel.getLoyaltyCard().balanceType
);
controller.resume();
TextView field = activity.findViewById(R.id.balanceCurrencyField);
assertNotNull(field);
assertEquals(
activity.getString(R.string.points),
field.getText().toString()
);
}
}