📖 Scenario: You are writing simple tests to check if your Kotlin functions work correctly. Testing helps you catch mistakes early, like checking if a calculator gives the right answer.
🎯 Goal: Build a Kotlin program that uses test assertions to verify the results of simple functions.
📋 What You'll Learn
Create a function that returns the sum of two numbers
Create a function that returns the product of two numbers
Write assertions to check if these functions return expected results
Print a message if all tests pass
💡 Why This Matters
🌍 Real World
Testing small functions helps ensure your code works correctly before using it in bigger programs.
💼 Career
Writing and understanding test assertions is a key skill for software developers to maintain code quality.
Progress0 / 4 steps
1
Create sum and product functions
Write a Kotlin function called sum that takes two Int parameters named a and b and returns their sum. Also write a function called product that takes two Int parameters named a and b and returns their product.
Kotlin
Hint
Define two functions with the exact names sum and product. Each should take two integers and return an integer.
2
Set expected test results
Create two val variables named expectedSum and expectedProduct. Set expectedSum to 7 and expectedProduct to 12.
Kotlin
Hint
Use val to create constants for the expected results.
3
Write assertions to test functions
Write two assert statements. The first should check if sum(3, 4) equals expectedSum. The second should check if product(3, 4) equals expectedProduct.
Kotlin
Hint
Use assert(condition) to check if the function results match the expected values.
4
Print success message
Write a println statement that prints "All tests passed!".
Kotlin
Hint
Use println("All tests passed!") to show the success message.
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
Step 1: Understand assertion types
assertEquals is used to check if two values are equal.
Step 2: Match assertion to purpose
assertTrue checks if a condition is true, assertNull checks for null, and assertFails checks for exceptions.
Final Answer:
assertEquals(expected, actual) -> Option A
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
Step 1: Recall Kotlin assertion syntax
assertTrue takes a Boolean condition as a parameter inside parentheses.
Step 2: Identify correct syntax
Only assertTrue(condition) is valid Kotlin syntax; others are incorrect.
Final Answer:
assertTrue(condition) -> Option C
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
Step 1: Check values compared
The expected value is 5 and actual value stored in result is also 5.
Step 2: Understand assertEquals behavior
Since both values are equal, assertEquals passes without throwing an error.
Final Answer:
Test passes without error -> Option A
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
Step 1: Calculate actual value
The expression 5 + 3 equals 8.
Step 2: Compare expected and actual
Expected is 10 but actual is 8, so assertEquals fails and throws AssertionError.
Final Answer:
Test fails because expected and actual differ -> Option D
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
Step 1: Understand exception testing
To check if a function throws an exception, use assertFails with a lambda calling the function.
Step 2: Evaluate other options
assertEquals compares values, not exceptions; assertNull checks for null; assertTrue checks a Boolean condition.
Final Answer:
assertFails { function(invalidInput) } -> Option B
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 unknownstrongwhile earning +1 Grip toward your certificate.