aboutsummaryrefslogtreecommitdiff
path: root/core/src/androidTest/kotlin
diff options
context:
space:
mode:
authorAllan Wang <me@allanwang.ca>2017-08-02 16:21:49 -0700
committerGitHub <noreply@github.com>2017-08-02 16:21:49 -0700
commit53382b44bb7ab7ccb559e96fd1f93c47020878ee (patch)
tree79c1862992f458ac52c1910b3a2e0c01cb7d5a5a /core/src/androidTest/kotlin
parent7d894be6de118357ec908d2d171b6152ce67307d (diff)
downloadkau-53382b44bb7ab7ccb559e96fd1f93c47020878ee.tar.gz
kau-53382b44bb7ab7ccb559e96fd1f93c47020878ee.tar.bz2
kau-53382b44bb7ab7ccb559e96fd1f93c47020878ee.zip
Improve video prefetching (#17)
* Create base activity and add thumbnails to media picker * Add checker to see if requested permission is inside the manifest * Add faq parser with tests * Add kpref testers and expose sp * Test jitpack sample exclusion * Test caching * Improve glide caching
Diffstat (limited to 'core/src/androidTest/kotlin')
-rw-r--r--core/src/androidTest/kotlin/ca/allanwang/kau/kpref/KPrefTest.kt85
-rw-r--r--core/src/androidTest/kotlin/ca/allanwang/kau/utils/KotterknifeTest.kt4
-rw-r--r--core/src/androidTest/kotlin/ca/allanwang/kau/xml/ChangelogTest.kt4
-rw-r--r--core/src/androidTest/kotlin/ca/allanwang/kau/xml/FaqTest.kt38
4 files changed, 128 insertions, 3 deletions
diff --git a/core/src/androidTest/kotlin/ca/allanwang/kau/kpref/KPrefTest.kt b/core/src/androidTest/kotlin/ca/allanwang/kau/kpref/KPrefTest.kt
new file mode 100644
index 0000000..e806a3f
--- /dev/null
+++ b/core/src/androidTest/kotlin/ca/allanwang/kau/kpref/KPrefTest.kt
@@ -0,0 +1,85 @@
+package ca.allanwang.kau.kpref
+
+import android.annotation.SuppressLint
+import android.support.test.InstrumentationRegistry
+import android.support.test.filters.MediumTest
+import android.support.test.runner.AndroidJUnit4
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import kotlin.test.assertEquals
+import kotlin.test.assertFalse
+import kotlin.test.assertTrue
+
+/**
+ * Created by Allan Wang on 2017-08-01.
+ */
+@RunWith(AndroidJUnit4::class)
+@MediumTest
+class ChangelogTest {
+
+ lateinit var pref: TestPref
+
+ class TestPref : KPref() {
+ init {
+ initialize(InstrumentationRegistry.getTargetContext(), "kpref_test_${System.currentTimeMillis()}")
+ }
+
+ var one: Int by kpref("one", 1)
+
+ var `true`: Boolean by kpref("true", true)
+
+ var hello: String by kpref("hello", "hello")
+
+ var set: StringSet by kpref("set", setOf("po", "ta", "to"))
+
+ val oneShot: Boolean by kprefSingle("asdf")
+ }
+
+ @Before
+ fun init() {
+ pref = TestPref()
+ }
+
+ @Test
+ fun getDefaults() {
+ assertEquals(1, pref.one)
+ assertEquals(true, pref.`true`)
+ assertEquals("hello", pref.hello)
+ assertEquals(3, pref.set.size)
+ assertTrue(pref.set.contains("po"))
+ assertTrue(pref.set.contains("ta"))
+ assertTrue(pref.set.contains("to"))
+ }
+
+ @Test
+ fun setter() {
+ assertEquals(1, pref.one)
+ pref.one = 2
+ assertEquals(2, pref.one)
+ pref.hello = "goodbye"
+ assertEquals("goodbye", pref.hello)
+ assertEquals(pref.hello, pref.sp.getString("hello", "hello"))
+ }
+
+ @SuppressLint("CommitPrefEdits")
+ @Test
+ fun reset() {
+ pref.one = 2
+ assertEquals(2, pref.one)
+ pref.reset() //only invalidates our lazy delegate; doesn't change the actual pref
+ assertEquals(2, pref.one)
+ pref.sp.edit().putInt("one", -1).commit()
+ assertEquals(2, pref.one) //our lazy delegate still retains the old value
+ pref.reset()
+ assertEquals(-1, pref.one) //back in sync with sp
+ }
+
+
+ @Test
+ fun single() {
+ assertTrue(pref.oneShot)
+ assertFalse(pref.oneShot)
+ }
+
+} \ No newline at end of file
diff --git a/core/src/androidTest/kotlin/ca/allanwang/kau/utils/KotterknifeTest.kt b/core/src/androidTest/kotlin/ca/allanwang/kau/utils/KotterknifeTest.kt
index 3282911..1dac92f 100644
--- a/core/src/androidTest/kotlin/ca/allanwang/kau/utils/KotterknifeTest.kt
+++ b/core/src/androidTest/kotlin/ca/allanwang/kau/utils/KotterknifeTest.kt
@@ -7,10 +7,12 @@ import android.support.test.runner.AndroidJUnit4
import android.view.View
import android.widget.FrameLayout
import android.widget.TextView
-import org.junit.Assert.*
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
+import kotlin.test.assertEquals
+import kotlin.test.assertNotNull
+import kotlin.test.assertNull
/**
* Created by Allan Wang on 2017-07-30.
diff --git a/core/src/androidTest/kotlin/ca/allanwang/kau/xml/ChangelogTest.kt b/core/src/androidTest/kotlin/ca/allanwang/kau/xml/ChangelogTest.kt
index dcff70e..a3c9ff1 100644
--- a/core/src/androidTest/kotlin/ca/allanwang/kau/xml/ChangelogTest.kt
+++ b/core/src/androidTest/kotlin/ca/allanwang/kau/xml/ChangelogTest.kt
@@ -14,9 +14,9 @@ import org.junit.runner.RunWith
@MediumTest
class ChangelogTest {
- @Test
+// @Test //todo internal function sharing is only available on gradle 3.0.0+
fun simpleTest() {
- val data = parse(InstrumentationRegistry.getTargetContext(), R.xml.text_changelog)
+// val data = parse(InstrumentationRegistry.getTargetContext(), R.xml.test_changelog)
}
} \ No newline at end of file
diff --git a/core/src/androidTest/kotlin/ca/allanwang/kau/xml/FaqTest.kt b/core/src/androidTest/kotlin/ca/allanwang/kau/xml/FaqTest.kt
new file mode 100644
index 0000000..94d1330
--- /dev/null
+++ b/core/src/androidTest/kotlin/ca/allanwang/kau/xml/FaqTest.kt
@@ -0,0 +1,38 @@
+package ca.allanwang.kau.xml
+
+import android.support.test.InstrumentationRegistry
+import android.support.test.filters.MediumTest
+import android.support.test.runner.AndroidJUnit4
+import ca.allanwang.kau.test.R
+import org.junit.Test
+import org.junit.runner.RunWith
+import kotlin.test.assertEquals
+
+/**
+ * Created by Allan Wang on 2017-08-01.
+ */
+@RunWith(AndroidJUnit4::class)
+@MediumTest
+class FaqTest {
+
+ @Test
+ fun simpleTest() {
+ val data = InstrumentationRegistry.getTargetContext().kauParseFaq(R.xml.test_faq)
+ assertEquals(2, data.size, "FAQ size is incorrect")
+ assertEquals("1. This is a question", data.first().first.toString(), "First question does not match")
+ assertEquals("This is an answer", data.first().second.toString(), "First answer does not match")
+ assertEquals("2. This is another question", data.last().first.toString(), "Second question does not match")
+ assertEquals("This is another answer", data.last().second.toString(), "Second answer does not match")
+ }
+
+ @Test
+ fun withoutNumbering() {
+ val data = InstrumentationRegistry.getTargetContext().kauParseFaq(R.xml.test_faq, false)
+ assertEquals(2, data.size, "FAQ size is incorrect")
+ assertEquals("This is a question", data.first().first.toString(), "First question does not match")
+ assertEquals("This is an answer", data.first().second.toString(), "First answer does not match")
+ assertEquals("This is another question", data.last().first.toString(), "Second question does not match")
+ assertEquals("This is another answer", data.last().second.toString(), "Second answer does not match")
+ }
+
+} \ No newline at end of file