Bird
Raised Fist0
Kotlinprogramming~10 mins

Why testing matters in Kotlin - Test Your Understanding

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

Complete the code to print a test message.

Kotlin
fun main() {
    println([1])
}
Drag options to blanks, or click blank then click option'
A"Test passed!"
BTest passed!
Cprintln("Test passed!")
Dpass
Attempts:
3 left
💡 Hint
Common Mistakes
Forgetting to put quotes around the string.
Trying to print without using println.
2fill in blank
medium

Complete the code to check if a test result is true.

Kotlin
fun isTestSuccessful(result: Boolean): Boolean {
    return result [1] true
}
Drag options to blanks, or click blank then click option'
A=>
B=
C!=
D==
Attempts:
3 left
💡 Hint
Common Mistakes
Using single equals instead of double equals for comparison.
Using wrong comparison operators.
3fill in blank
hard

Fix the error in the test function to return the correct message.

Kotlin
fun testMessage(passed: Boolean): String {
    return if (passed) [1] else "Test failed"
}
Drag options to blanks, or click blank then click option'
Aprintln("Test passed")
B"Test passed"
CTest passed
Dpassed
Attempts:
3 left
💡 Hint
Common Mistakes
Returning a print statement instead of a string.
Forgetting quotes around the string.
4fill in blank
hard

Fill both blanks to create a list of test results and check if all passed.

Kotlin
val results = listOf([1], [2], false)
val allPassed = results.all { it }
println(allPassed)
Drag options to blanks, or click blank then click option'
Atrue
Bfalse
C1
D"passed"
Attempts:
3 left
💡 Hint
Common Mistakes
Using numbers or strings instead of Booleans in the list.
Confusing true and false values.
5fill in blank
hard

Fill all three blanks to create a map of test names to results and filter passed tests.

Kotlin
val testResults = mapOf([1] to [2], "test2" to false, "test3" to true)
val passedTests = testResults.filter { it.value [3] true }
println(passedTests.keys)
Drag options to blanks, or click blank then click option'
A"test1"
Btrue
C==
D"passed"
Attempts:
3 left
💡 Hint
Common Mistakes
Using strings instead of Booleans for test results.
Using wrong comparison operators in filter.

Practice

(1/5)
1. Why is testing important when writing Kotlin programs?
easy
A. It makes the program run faster automatically.
B. It allows the program to work without any user input.
C. It removes the need to write comments in code.
D. It helps find mistakes early and keeps the program working well.

Solution

  1. Step 1: Understand the purpose of testing

    Testing is used to find mistakes and ensure the program behaves as expected.
  2. Step 2: Compare options with testing goals

    Only It helps find mistakes early and keeps the program working well. correctly states that testing finds mistakes early and keeps the program working well.
  3. Final Answer:

    It helps find mistakes early and keeps the program working well. -> Option D
  4. Quick Check:

    Testing finds mistakes early = B [OK]
Hint: Testing finds bugs early and keeps code reliable [OK]
Common Mistakes:
  • Thinking testing makes code faster
  • Believing testing replaces comments
  • Assuming testing removes user input
2. Which Kotlin syntax correctly defines a simple test function named testSum?
easy
A. fun testSum() { /* test code here */ }
B. def testSum() { /* test code here */ }
C. function testSum() { /* test code here */ }
D. testSum fun() { /* test code here */ }

Solution

  1. Step 1: Recall Kotlin function syntax

    Kotlin functions start with the keyword fun, followed by the function name and parentheses.
  2. Step 2: Match options to Kotlin syntax

    Only fun testSum() { /* test code here */ } uses the correct Kotlin syntax: fun testSum() { ... }.
  3. Final Answer:

    fun testSum() { /* test code here */ } -> Option A
  4. Quick Check:

    Kotlin functions start with fun = A [OK]
Hint: Kotlin functions always start with 'fun' keyword [OK]
Common Mistakes:
  • Using 'def' like in Python
  • Using 'function' like in JavaScript
  • Placing 'fun' after the function name
3. What will be the output of this Kotlin test function?
fun testMultiply() {
    val result = 3 * 4
    if (result == 12) {
        println("Test passed")
    } else {
        println("Test failed")
    }
}
testMultiply()
medium
A. Test passed
B. No output
C. Test failed
D. Compilation error

Solution

  1. Step 1: Calculate the multiplication

    The variable result is assigned 3 * 4, which equals 12.
  2. Step 2: Check the if condition

    The condition result == 12 is true, so it prints "Test passed".
  3. Final Answer:

    Test passed -> Option A
  4. Quick Check:

    3 * 4 = 12, prints 'Test passed' = C [OK]
Hint: Calculate expressions before checking conditions [OK]
Common Mistakes:
  • Assuming multiplication is wrong
  • Ignoring the if condition
  • Thinking no output occurs
4. This Kotlin test function is supposed to check if a number is even. What is wrong?
fun testIsEven() {
    val number = 5
    if (number % 2 = 0) {
        println("Even")
    } else {
        println("Odd")
    }
}
testIsEven()
medium
A. The variable 'number' should be a String
B. Missing parentheses around the if condition
C. Using single '=' instead of '==' in the if condition
D. The function name should start with 'is'

Solution

  1. Step 1: Identify the if condition syntax error

    The condition uses a single '=' which is assignment, not comparison.
  2. Step 2: Correct the comparison operator

    It should use '==' to compare if number % 2 equals 0.
  3. Final Answer:

    Using single '=' instead of '==' in the if condition -> Option C
  4. Quick Check:

    Comparison needs '==' not '=' = A [OK]
Hint: Use '==' for comparison, '=' is assignment [OK]
Common Mistakes:
  • Confusing '=' with '=='
  • Thinking parentheses are missing
  • Believing variable type is wrong
5. You want to write a Kotlin test that checks if a function calculateDiscount returns the correct discount for a price. Which approach best shows why testing matters?
hard
A. Write a test that changes the price variable but does not check the output.
B. Write a test that calls calculateDiscount(100) and checks if the result is 10.
C. Write a test that always returns true without calling the function.
D. Write a test that prints the price without checking the result.

Solution

  1. Step 1: Understand the goal of testing functions

    Tests should call the function and verify if the output matches expected results.
  2. Step 2: Evaluate each option

    Only Write a test that calls calculateDiscount(100) and checks if the result is 10. calls the function and checks the result, which helps find mistakes and trust the code.
  3. Final Answer:

    Write a test that calls calculateDiscount(100) and checks if the result is 10. -> Option B
  4. Quick Check:

    Test calls function and checks output = D [OK]
Hint: Tests must check function output against expected values [OK]
Common Mistakes:
  • Writing tests that don't check results
  • Returning true without testing
  • Changing variables without verification
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