Bird
Raised Fist0
Kotlinprogramming~10 mins

Kotlin test assertions - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to assert that two values are equal.

Kotlin
import kotlin.test.assertEquals

fun testSum() {
    val result = 2 + 3
    assertEquals([1], result)
}
Drag options to blanks, or click blank then click option'
A6
B4
C7
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Using the actual result as the expected value.
Mixing up the order of arguments in assertEquals.
2fill in blank
medium

Complete the code to assert that a condition is true.

Kotlin
import kotlin.test.assertTrue

fun testPositive() {
    val number = 10
    assertTrue([1])
}
Drag options to blanks, or click blank then click option'
Anumber > 0
Bnumber <= 0
Cnumber == 0
Dnumber < 0
Attempts:
3 left
💡 Hint
Common Mistakes
Using a condition that is false.
Confusing greater than and less than signs.
3fill in blank
hard

Fix the error in the assertion that checks if a list is empty.

Kotlin
import kotlin.test.assertTrue

fun testEmptyList() {
    val list = listOf<Int>()
    assertTrue([1])
}
Drag options to blanks, or click blank then click option'
Alist.size > 0
Blist.isNotEmpty()
Clist.isEmpty()
Dlist.size == 1
Attempts:
3 left
💡 Hint
Common Mistakes
Using isNotEmpty() which checks for non-empty lists.
Checking size incorrectly.
4fill in blank
hard

Fill both blanks to assert that a string contains a substring and is not empty.

Kotlin
import kotlin.test.assertTrue

fun testString() {
    val text = "Hello Kotlin"
    assertTrue(text.[1]("Kotlin") && text.[2]())
}
Drag options to blanks, or click blank then click option'
Acontains
BisEmpty
CisNotEmpty
DstartsWith
Attempts:
3 left
💡 Hint
Common Mistakes
Using isEmpty() instead of isNotEmpty().
Using startsWith() which only checks the start of the string.
5fill in blank
hard

Fill all three blanks to assert that a map has a key, the value is not null, and the value equals 42.

Kotlin
import kotlin.test.assertTrue

fun testMap() {
    val map = mapOf("answer" to 42)
    assertTrue(map.[1]("answer") && map["answer"] [2] null && map["answer"] [3] 42)
}
Drag options to blanks, or click blank then click option'
AcontainsKey
B!=
C==
DgetOrDefault
Attempts:
3 left
💡 Hint
Common Mistakes
Using getOrDefault instead of containsKey.
Using == null instead of != null.
Mixing up equality operators.

Practice

(1/5)
1. Which Kotlin test assertion checks if two values are equal?
easy
A. assertEquals(expected, actual)
B. assertTrue(condition)
C. assertNull(value)
D. assertFails { block }

Solution

  1. Step 1: Understand assertion types

    assertEquals is used to check if two values are equal.
  2. Step 2: Match assertion to purpose

    assertTrue checks if a condition is true, assertNull checks for null, and assertFails checks for exceptions.
  3. Final Answer:

    assertEquals(expected, actual) -> Option A
  4. Quick Check:

    Equality check = assertEquals [OK]
Hint: Use assertEquals to compare expected and actual values [OK]
Common Mistakes:
  • Confusing assertTrue with assertEquals
  • Using assertNull for equality checks
  • Using assertFails to check values
2. Which of the following is the correct syntax to assert a condition is true in Kotlin tests?
easy
A. assertTrue { condition }
B. assertTrue condition
C. assertTrue(condition)
D. assertTrue: condition

Solution

  1. Step 1: Recall Kotlin assertion syntax

    assertTrue takes a Boolean condition as a parameter inside parentheses.
  2. Step 2: Identify correct syntax

    Only assertTrue(condition) is valid Kotlin syntax; others are incorrect.
  3. Final Answer:

    assertTrue(condition) -> Option C
  4. Quick Check:

    assertTrue uses parentheses for condition [OK]
Hint: Remember assertions use parentheses for arguments [OK]
Common Mistakes:
  • Using curly braces instead of parentheses
  • Omitting parentheses
  • Using colon instead of parentheses
3. What will be the result of this Kotlin test assertion?
val result = 5
assertEquals(5, result)
medium
A. Test passes without error
B. Test fails with AssertionError
C. Compilation error
D. Runtime exception other than AssertionError

Solution

  1. Step 1: Check values compared

    The expected value is 5 and actual value stored in result is also 5.
  2. Step 2: Understand assertEquals behavior

    Since both values are equal, assertEquals passes without throwing an error.
  3. Final Answer:

    Test passes without error -> Option A
  4. Quick Check:

    Equal values = test passes [OK]
Hint: Equal expected and actual means test passes [OK]
Common Mistakes:
  • Assuming assertEquals throws error on equal values
  • Confusing expected and actual order
  • Thinking assertEquals returns a value
4. Identify the error in this Kotlin test assertion code:
assertEquals(10, 5 + 3)
medium
A. Runtime exception due to invalid operation
B. No error, test passes
C. Syntax error due to missing parentheses
D. Test fails because expected and actual differ

Solution

  1. Step 1: Calculate actual value

    The expression 5 + 3 equals 8.
  2. Step 2: Compare expected and actual

    Expected is 10 but actual is 8, so assertEquals fails and throws AssertionError.
  3. Final Answer:

    Test fails because expected and actual differ -> Option D
  4. Quick Check:

    Different values = test fails [OK]
Hint: Check actual calculation matches expected value [OK]
Common Mistakes:
  • Assuming test passes despite value mismatch
  • Thinking syntax error occurs
  • Confusing runtime exceptions with assertion failures
5. You want to test that a function throws an exception when given invalid input. Which Kotlin assertion should you use?
hard
A. assertNull(function(invalidInput))
B. assertFails { function(invalidInput) }
C. assertEquals(exception, function(invalidInput))
D. assertTrue(function(invalidInput))

Solution

  1. Step 1: Understand exception testing

    To check if a function throws an exception, use assertFails with a lambda calling the function.
  2. Step 2: Evaluate other options

    assertEquals compares values, not exceptions; assertNull checks for null; assertTrue checks a Boolean condition.
  3. Final Answer:

    assertFails { function(invalidInput) } -> Option B
  4. Quick Check:

    Exception test = assertFails [OK]
Hint: Use assertFails with lambda to test exceptions [OK]
Common Mistakes:
  • Using assertEquals to check exceptions
  • Using assertNull expecting exception
  • Using assertTrue for exception testing
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard