diff --git a/src/main/kotlin/net/thauvin/erik/readingtime/ReadingTime.kt b/src/main/kotlin/net/thauvin/erik/readingtime/ReadingTime.kt index 2b88bbf..d4c0043 100644 --- a/src/main/kotlin/net/thauvin/erik/readingtime/ReadingTime.kt +++ b/src/main/kotlin/net/thauvin/erik/readingtime/ReadingTime.kt @@ -81,19 +81,19 @@ class ReadingTime @JvmOverloads constructor( var text: String = text set(value) { - initialize() + reset(value != text) field = value } var wpm: Int = wpm set(value) { - initialize() + reset(value != wpm) field = value } var excludeImages: Boolean = excludeImages set(value) { - initialize() + reset(value != excludeImages) field = value } @@ -138,7 +138,7 @@ class ReadingTime @JvmOverloads constructor( return time } - private fun initialize() { - readTime = INVALID + private fun reset(isChanged: Boolean) { + if (isChanged) readTime = INVALID } } diff --git a/src/test/kotlin/net/thauvin/erik/readingtime/ReadingTimeTest.kt b/src/test/kotlin/net/thauvin/erik/readingtime/ReadingTimeTest.kt index 9547f40..640d1d5 100644 --- a/src/test/kotlin/net/thauvin/erik/readingtime/ReadingTimeTest.kt +++ b/src/test/kotlin/net/thauvin/erik/readingtime/ReadingTimeTest.kt @@ -98,5 +98,9 @@ class ReadingTimeTest { rt.text = "This is a test." rt.postfix = "" assertEquals("1", rt.calcReadingTime()) + + rt.text = "" + assertEquals("0", rt.calcReadingTime()) + assertEquals( 0.0, rt.calcReadingTimeInSec()) } }