Skip to content

Commit d4ebcd6

Browse files
committed
Fix unit tests after Android 3 upgrade
1 parent 4219d6f commit d4ebcd6

21 files changed

Lines changed: 67 additions & 108 deletions

app/build.gradle

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,12 @@ android {
145145
sourceCompatibility JavaVersion.VERSION_1_7
146146
targetCompatibility JavaVersion.VERSION_1_7
147147
}
148+
149+
testOptions {
150+
unitTests {
151+
includeAndroidResources = true
152+
}
153+
}
148154
}
149155

150156
/**
@@ -240,7 +246,9 @@ dependencies {
240246
}
241247

242248

243-
testCompile('org.robolectric:robolectric:3.1.2',
249+
testImplementation 'org.robolectric:robolectric:3.5.1'
250+
251+
testCompile(
244252
'junit:junit:4.12',
245253
'joda-time:joda-time:2.9.4',
246254
'org.assertj:assertj-core:1.7.1'

app/src/test/java/org/gnucash/android/test/unit/db/AccountsDbAdapterTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import android.database.sqlite.SQLiteDatabase;
1919

2020
import org.assertj.core.data.Index;
21-
import org.gnucash.android.BuildConfig;
2221
import org.gnucash.android.R;
2322
import org.gnucash.android.app.GnuCashApplication;
2423
import org.gnucash.android.db.DatabaseHelper;
@@ -45,13 +44,13 @@
4544
import org.gnucash.android.model.Split;
4645
import org.gnucash.android.model.Transaction;
4746
import org.gnucash.android.model.TransactionType;
48-
import org.gnucash.android.test.unit.testutil.GnucashTestRunner;
4947
import org.gnucash.android.test.unit.testutil.ShadowCrashlytics;
5048
import org.gnucash.android.test.unit.testutil.ShadowUserVoice;
5149
import org.junit.After;
5250
import org.junit.Before;
5351
import org.junit.Test;
5452
import org.junit.runner.RunWith;
53+
import org.robolectric.RobolectricTestRunner;
5554
import org.robolectric.annotation.Config;
5655
import org.xml.sax.SAXException;
5756

@@ -65,8 +64,8 @@
6564
import static org.assertj.core.api.Assertions.assertThat;
6665
import static org.junit.Assert.assertEquals;
6766

68-
@RunWith(GnucashTestRunner.class) //package is required so that resources can be found in dev mode
69-
@Config(constants = BuildConfig.class, sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
67+
@RunWith(RobolectricTestRunner.class) //package is required so that resources can be found in dev mode
68+
@Config(sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
7069
public class AccountsDbAdapterTest{
7170

7271
private static final String BRAVO_ACCOUNT_NAME = "Bravo";

app/src/test/java/org/gnucash/android/test/unit/db/BooksDbAdapterTest.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,19 @@
1515
*/
1616
package org.gnucash.android.test.unit.db;
1717

18-
import org.gnucash.android.BuildConfig;
1918
import org.gnucash.android.R;
2019
import org.gnucash.android.app.GnuCashApplication;
21-
import org.gnucash.android.db.DatabaseHelper;
2220
import org.gnucash.android.db.adapter.BooksDbAdapter;
2321
import org.gnucash.android.db.adapter.DatabaseAdapter;
2422
import org.gnucash.android.importer.GncXmlImporter;
2523
import org.gnucash.android.model.BaseModel;
2624
import org.gnucash.android.model.Book;
27-
import org.gnucash.android.test.unit.testutil.GnucashTestRunner;
2825
import org.gnucash.android.test.unit.testutil.ShadowCrashlytics;
2926
import org.gnucash.android.test.unit.testutil.ShadowUserVoice;
3027
import org.junit.Before;
3128
import org.junit.Test;
3229
import org.junit.runner.RunWith;
30+
import org.robolectric.RobolectricTestRunner;
3331
import org.robolectric.annotation.Config;
3432
import org.xml.sax.SAXException;
3533

@@ -43,8 +41,8 @@
4341
/**
4442
* Test the book database adapter
4543
*/
46-
@RunWith(GnucashTestRunner.class) //package is required so that resources can be found in dev mode
47-
@Config(constants = BuildConfig.class, sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
44+
@RunWith(RobolectricTestRunner.class) //package is required so that resources can be found in dev mode
45+
@Config(sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
4846
public class BooksDbAdapterTest {
4947

5048
private BooksDbAdapter mBooksDbAdapter;

app/src/test/java/org/gnucash/android/test/unit/db/BudgetsDbAdapterTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import android.support.annotation.NonNull;
1919

20-
import org.gnucash.android.BuildConfig;
2120
import org.gnucash.android.db.adapter.AccountsDbAdapter;
2221
import org.gnucash.android.db.adapter.BudgetAmountsDbAdapter;
2322
import org.gnucash.android.db.adapter.BudgetsDbAdapter;
@@ -28,13 +27,13 @@
2827
import org.gnucash.android.model.Money;
2928
import org.gnucash.android.model.PeriodType;
3029
import org.gnucash.android.model.Recurrence;
31-
import org.gnucash.android.test.unit.testutil.GnucashTestRunner;
3230
import org.gnucash.android.test.unit.testutil.ShadowCrashlytics;
3331
import org.gnucash.android.test.unit.testutil.ShadowUserVoice;
3432
import org.junit.After;
3533
import org.junit.Before;
3634
import org.junit.Test;
3735
import org.junit.runner.RunWith;
36+
import org.robolectric.RobolectricTestRunner;
3837
import org.robolectric.annotation.Config;
3938

4039
import java.util.ArrayList;
@@ -45,8 +44,8 @@
4544
/**
4645
* Tests for the budgets database adapter
4746
*/
48-
@RunWith(GnucashTestRunner.class) //package is required so that resources can be found in dev mode
49-
@Config(constants = BuildConfig.class, sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
47+
@RunWith(RobolectricTestRunner.class) //package is required so that resources can be found in dev mode
48+
@Config(sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
5049
public class BudgetsDbAdapterTest {
5150

5251
private BudgetsDbAdapter mBudgetsDbAdapter;

app/src/test/java/org/gnucash/android/test/unit/db/MigrationHelperTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,22 @@
1515
*/
1616
package org.gnucash.android.test.unit.db;
1717

18-
import org.gnucash.android.BuildConfig;
1918
import org.gnucash.android.db.MigrationHelper;
20-
import org.gnucash.android.test.unit.testutil.GnucashTestRunner;
2119
import org.gnucash.android.test.unit.testutil.ShadowCrashlytics;
2220
import org.gnucash.android.test.unit.testutil.ShadowUserVoice;
2321
import org.gnucash.android.util.TimestampHelper;
2422
import org.junit.Test;
2523
import org.junit.runner.RunWith;
24+
import org.robolectric.RobolectricTestRunner;
2625
import org.robolectric.annotation.Config;
2726

2827
import java.sql.Timestamp;
2928
import java.util.TimeZone;
3029

3130
import static org.assertj.core.api.Assertions.assertThat;
3231

33-
@RunWith(GnucashTestRunner.class)
34-
@Config(constants = BuildConfig.class, sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
32+
@RunWith(RobolectricTestRunner.class)
33+
@Config(sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
3534
public class MigrationHelperTest {
3635
@Test
3736
public void shouldSubtractTimeZoneOffset() {

app/src/test/java/org/gnucash/android/test/unit/db/PriceDbAdapterTest.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
11
package org.gnucash.android.test.unit.db;
22

3-
import org.gnucash.android.BuildConfig;
43
import org.gnucash.android.db.adapter.CommoditiesDbAdapter;
54
import org.gnucash.android.db.adapter.PricesDbAdapter;
65
import org.gnucash.android.model.Price;
7-
8-
import org.gnucash.android.test.unit.testutil.GnucashTestRunner;
96
import org.gnucash.android.test.unit.testutil.ShadowCrashlytics;
107
import org.gnucash.android.test.unit.testutil.ShadowUserVoice;
118
import org.junit.Test;
129
import org.junit.runner.RunWith;
10+
import org.robolectric.RobolectricTestRunner;
1311
import org.robolectric.annotation.Config;
1412

1513
import static org.assertj.core.api.Assertions.assertThat;
1614
/**
1715
* Test price functions
1816
*/
19-
@RunWith(GnucashTestRunner.class) //package is required so that resources can be found in dev mode
20-
@Config(constants = BuildConfig.class, sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
17+
@RunWith(RobolectricTestRunner.class) //package is required so that resources can be found in dev mode
18+
@Config(sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
2119
public class PriceDbAdapterTest {
2220

2321
/**

app/src/test/java/org/gnucash/android/test/unit/db/ScheduledActionDbAdapterTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,19 @@
22

33
import android.content.res.Resources;
44

5-
import org.gnucash.android.BuildConfig;
65
import org.gnucash.android.R;
76
import org.gnucash.android.app.GnuCashApplication;
87
import org.gnucash.android.db.adapter.ScheduledActionDbAdapter;
98
import org.gnucash.android.model.BaseModel;
109
import org.gnucash.android.model.PeriodType;
1110
import org.gnucash.android.model.Recurrence;
1211
import org.gnucash.android.model.ScheduledAction;
13-
import org.gnucash.android.test.unit.testutil.GnucashTestRunner;
1412
import org.gnucash.android.test.unit.testutil.ShadowCrashlytics;
1513
import org.gnucash.android.test.unit.testutil.ShadowUserVoice;
1614
import org.junit.Before;
1715
import org.junit.Test;
1816
import org.junit.runner.RunWith;
17+
import org.robolectric.RobolectricTestRunner;
1918
import org.robolectric.annotation.Config;
2019

2120
import java.util.List;
@@ -25,8 +24,8 @@
2524
/**
2625
* Test the scheduled actions database adapter
2726
*/
28-
@RunWith(GnucashTestRunner.class) //package is required so that resources can be found in dev mode
29-
@Config(constants = BuildConfig.class, sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
27+
@RunWith(RobolectricTestRunner.class) //package is required so that resources can be found in dev mode
28+
@Config(sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
3029
public class ScheduledActionDbAdapterTest {
3130

3231
ScheduledActionDbAdapter mScheduledActionDbAdapter;

app/src/test/java/org/gnucash/android/test/unit/db/SplitsDbAdapterTest.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,21 @@
1717

1818
import android.database.sqlite.SQLiteException;
1919

20-
import org.gnucash.android.BuildConfig;
21-
import org.gnucash.android.db.adapter.AccountsDbAdapter;
2220
import org.gnucash.android.db.DatabaseSchema;
21+
import org.gnucash.android.db.adapter.AccountsDbAdapter;
2322
import org.gnucash.android.db.adapter.SplitsDbAdapter;
2423
import org.gnucash.android.db.adapter.TransactionsDbAdapter;
2524
import org.gnucash.android.model.Account;
2625
import org.gnucash.android.model.Money;
2726
import org.gnucash.android.model.Split;
2827
import org.gnucash.android.model.Transaction;
29-
import org.gnucash.android.test.unit.testutil.GnucashTestRunner;
3028
import org.gnucash.android.test.unit.testutil.ShadowCrashlytics;
3129
import org.gnucash.android.test.unit.testutil.ShadowUserVoice;
3230
import org.junit.After;
3331
import org.junit.Before;
3432
import org.junit.Test;
3533
import org.junit.runner.RunWith;
34+
import org.robolectric.RobolectricTestRunner;
3635
import org.robolectric.annotation.Config;
3736

3837
import java.util.List;
@@ -42,8 +41,8 @@
4241
/**
4342
* Some tests for the splits database adapter
4443
*/
45-
@RunWith(GnucashTestRunner.class) //package is required so that resources can be found in dev mode
46-
@Config(constants = BuildConfig.class, sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
44+
@RunWith(RobolectricTestRunner.class) //package is required so that resources can be found in dev mode
45+
@Config(sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
4746
public class SplitsDbAdapterTest {
4847

4948
private AccountsDbAdapter mAccountsDbAdapter;

app/src/test/java/org/gnucash/android/test/unit/db/TransactionsDbAdapterTest.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package org.gnucash.android.test.unit.db;
1717

1818
import org.assertj.core.data.Index;
19-
import org.gnucash.android.BuildConfig;
2019
import org.gnucash.android.db.adapter.AccountsDbAdapter;
2120
import org.gnucash.android.db.adapter.SplitsDbAdapter;
2221
import org.gnucash.android.db.adapter.TransactionsDbAdapter;
@@ -25,24 +24,23 @@
2524
import org.gnucash.android.model.Money;
2625
import org.gnucash.android.model.Split;
2726
import org.gnucash.android.model.Transaction;
28-
import org.gnucash.android.test.unit.testutil.GnucashTestRunner;
2927
import org.gnucash.android.test.unit.testutil.ShadowCrashlytics;
3028
import org.gnucash.android.test.unit.testutil.ShadowUserVoice;
3129
import org.junit.After;
3230
import org.junit.Before;
3331
import org.junit.Test;
3432
import org.junit.runner.RunWith;
33+
import org.robolectric.RobolectricTestRunner;
3534
import org.robolectric.annotation.Config;
3635

3736
import java.math.BigDecimal;
38-
import java.util.Currency;
3937
import java.util.List;
4038

4139
import static org.assertj.core.api.Assertions.assertThat;
4240

4341

44-
@RunWith(GnucashTestRunner.class) //package is required so that resources can be found in dev mode
45-
@Config(constants = BuildConfig.class, sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
42+
@RunWith(RobolectricTestRunner.class) //package is required so that resources can be found in dev mode
43+
@Config(sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
4644
public class TransactionsDbAdapterTest {
4745
private static final String ALPHA_ACCOUNT_NAME = "Alpha";
4846
private static final String BRAVO_ACCOUNT_NAME = "Bravo";

app/src/test/java/org/gnucash/android/test/unit/export/BackupTest.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,20 @@
1515
*/
1616
package org.gnucash.android.test.unit.export;
1717

18-
import org.gnucash.android.BuildConfig;
1918
import org.gnucash.android.R;
2019
import org.gnucash.android.app.GnuCashApplication;
21-
import org.gnucash.android.db.BookDbHelper;
2220
import org.gnucash.android.db.adapter.BooksDbAdapter;
2321
import org.gnucash.android.export.ExportFormat;
2422
import org.gnucash.android.export.ExportParams;
2523
import org.gnucash.android.export.Exporter;
2624
import org.gnucash.android.export.xml.GncXmlExporter;
2725
import org.gnucash.android.importer.GncXmlImporter;
28-
import org.gnucash.android.test.unit.db.AccountsDbAdapterTest;
29-
import org.gnucash.android.test.unit.testutil.GnucashTestRunner;
3026
import org.gnucash.android.test.unit.testutil.ShadowCrashlytics;
3127
import org.gnucash.android.test.unit.testutil.ShadowUserVoice;
3228
import org.junit.Before;
3329
import org.junit.Test;
3430
import org.junit.runner.RunWith;
31+
import org.robolectric.RobolectricTestRunner;
3532
import org.robolectric.annotation.Config;
3633
import org.xml.sax.SAXException;
3734

@@ -46,8 +43,8 @@
4643
/**
4744
* Test backup and restore functionality
4845
*/
49-
@RunWith(GnucashTestRunner.class)
50-
@Config(constants = BuildConfig.class, sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
46+
@RunWith(RobolectricTestRunner.class)
47+
@Config(sdk = 21, packageName = "org.gnucash.android", shadows = {ShadowCrashlytics.class, ShadowUserVoice.class})
5148
public class BackupTest {
5249

5350
@Before

0 commit comments

Comments
 (0)