Skip to content

Commit

Permalink
Update readme and add few tests
Browse files Browse the repository at this point in the history
  • Loading branch information
creati8e committed Sep 26, 2018
1 parent 49f306e commit b433b79
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 2 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@
Library for easily displaying multiple view types in RecyclerView adapter.
You don't even need to write custom adapter and ViewHolder.

**Note: library is AndroidX-only**

# Setup
Library is available on `jCenter`

Add dependency to your app's `build.gradle`

```groovy
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,42 @@
package serg.chuprin.adapter

import org.junit.Assert
import org.junit.Before
import org.junit.Test

class RendererDelegateTest {

private val rendererDelegate = RendererDelegate<Any>()
private lateinit var rendererDelegate: RendererDelegate<Any>
private val testRenderer = object : SimpleViewRenderer<Any>() {
override val type: Int = -1
}

@Before
fun setup() {
rendererDelegate = RendererDelegate()
}

@Test
fun `renderer should be added after registering via reified function`() {
rendererDelegate.registerRenderer(testRenderer)
assertRenderersRegistered(1)
}

@Test
fun `adding same renderer twice will cause exception being thrown`() {
rendererDelegate.registerRenderer(testRenderer)
assertRenderersRegistered(1)

var thrown = false
try {
rendererDelegate.registerRenderer(testRenderer)
} catch (e: IllegalStateException) {
thrown = true
}
Assert.assertTrue(thrown)
assertRenderersRegistered(1)
}

@Test
fun `renderer should be added after registering via class specifying`() {
rendererDelegate.registerRenderer(testRenderer, Any::class.java)
Expand Down Expand Up @@ -55,6 +76,11 @@ class RendererDelegateTest {
assertRenderersRegistered(0)
}

@Test
fun `removing non-existent renderer should return false`() {
Assert.assertFalse(rendererDelegate.removeRenderer(testRenderer))
}

private fun assertRenderersRegistered(count: Int) {
Assert.assertEquals(count, rendererDelegate.renderers.size())
Assert.assertEquals(count, rendererDelegate.rendererTypes.size)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ class DiffActivity : AppCompatActivity() {
.add(Single
.just(true)
.doOnSubscribe { diffAdapter.setItems(listOf(DiffItem.Progress)) }
.delay(500, TimeUnit.MILLISECONDS)
.delay(700, TimeUnit.MILLISECONDS)
.map { list }
.subscribe(diffAdapter::setItems, Throwable::printStackTrace)
)
Expand Down

0 comments on commit b433b79

Please sign in to comment.