mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 21:03:54 +01:00
Add more nearby tests (#3877)
* more nearby tests added * Add tests for Label class * Add checkbox test javadocs * Add javadocs for label
This commit is contained in:
parent
fb4af37418
commit
e7f54a97e5
2 changed files with 108 additions and 0 deletions
|
|
@ -0,0 +1,71 @@
|
|||
package fr.free.nrw.commons.nearby
|
||||
|
||||
import android.widget.CompoundButton
|
||||
import androidx.test.core.app.ApplicationProvider
|
||||
import com.nhaarman.mockitokotlin2.verify
|
||||
import com.nhaarman.mockitokotlin2.verifyNoMoreInteractions
|
||||
import fr.free.nrw.commons.TestCommonsApplication
|
||||
import fr.free.nrw.commons.location.LatLng
|
||||
import fr.free.nrw.commons.nearby.CheckBoxTriStates.CHECKED
|
||||
import fr.free.nrw.commons.nearby.CheckBoxTriStates.UNCHECKED
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mockito.Mock
|
||||
import org.mockito.MockitoAnnotations
|
||||
import org.robolectric.RobolectricTestRunner
|
||||
import org.robolectric.annotation.Config
|
||||
|
||||
@RunWith(RobolectricTestRunner::class)
|
||||
@Config(sdk = [21], application = TestCommonsApplication::class)
|
||||
class CheckBoxTriStatesTest {
|
||||
@Mock
|
||||
internal lateinit var callback: CheckBoxTriStates.Callback
|
||||
@Mock
|
||||
internal lateinit var onCheckChangeListener: CompoundButton.OnCheckedChangeListener
|
||||
private lateinit var checkBoxTriStates: CheckBoxTriStates
|
||||
|
||||
/**
|
||||
* initial setup
|
||||
*/
|
||||
@Before
|
||||
@Throws(Exception::class)
|
||||
fun setUp() {
|
||||
MockitoAnnotations.initMocks(this)
|
||||
checkBoxTriStates = CheckBoxTriStates(ApplicationProvider.getApplicationContext())
|
||||
checkBoxTriStates.setCallback(callback)
|
||||
checkBoxTriStates.setOnCheckedChangeListener(onCheckChangeListener)
|
||||
}
|
||||
|
||||
/**
|
||||
* If same state is trying to be set, nothing should happen
|
||||
*/
|
||||
@Test
|
||||
fun testSetStateWhenSameState() {
|
||||
checkBoxTriStates.state = CHECKED
|
||||
checkBoxTriStates.setState(CHECKED)
|
||||
verifyNoMoreInteractions(callback)
|
||||
}
|
||||
|
||||
/**
|
||||
* If different, markers should be filtered by new state
|
||||
*/
|
||||
@Test
|
||||
fun testSetStateWhenDiffState() {
|
||||
NearbyController.currentLocation = LatLng(0.0,0.0,0.0f)
|
||||
checkBoxTriStates.state = CHECKED
|
||||
checkBoxTriStates.setState(UNCHECKED)
|
||||
verify(callback).filterByMarkerType(null, UNCHECKED, false, true)
|
||||
}
|
||||
|
||||
/**
|
||||
* If current latitude longtitude null, then no more interactions required
|
||||
*/
|
||||
@Test
|
||||
fun testSetStateWhenCurrLatLngNull() {
|
||||
NearbyController.currentLocation = null
|
||||
checkBoxTriStates.state = CHECKED
|
||||
checkBoxTriStates.setState(UNCHECKED)
|
||||
verifyNoMoreInteractions(callback)
|
||||
}
|
||||
}
|
||||
37
app/src/test/kotlin/fr/free/nrw/commons/nearby/LabelTest.kt
Normal file
37
app/src/test/kotlin/fr/free/nrw/commons/nearby/LabelTest.kt
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
package fr.free.nrw.commons.nearby
|
||||
|
||||
import fr.free.nrw.commons.R
|
||||
import fr.free.nrw.commons.R.*
|
||||
import org.junit.Before
|
||||
import org.junit.Test
|
||||
|
||||
class LabelTest {
|
||||
private lateinit var label: Label
|
||||
|
||||
/**
|
||||
* initial setup
|
||||
*/
|
||||
@Before
|
||||
@Throws(Exception::class)
|
||||
fun setUp() {
|
||||
label = Label.fromText("Q44539")
|
||||
}
|
||||
|
||||
/**
|
||||
* test if a random label icon matches with intended one
|
||||
*/
|
||||
@Test
|
||||
fun testLabelIcon() {
|
||||
assert(label.icon.equals(R.drawable.round_icon_church))
|
||||
}
|
||||
|
||||
/**
|
||||
* test if label is not found in label set, unknown icon is used
|
||||
*/
|
||||
@Test
|
||||
fun testNullLabelIcon() {
|
||||
var nullLabel: Label = Label.fromText("a random text not exist in label texts")
|
||||
assert(nullLabel.icon.equals(R.drawable.round_icon_unknown))
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue