assertNotEquals checks that two values are NOT equal. If they are equal, the test fails.
Click to reveal answer
beginner
How do you write assertNotEquals to check that 5 is not equal to 3?
Use assertNotEquals(5, 3); in your test method.
Click to reveal answer
beginner
What happens if assertNotEquals compares two equal values?
The test fails and JUnit reports an assertion error because the values should not be equal.
Click to reveal answer
intermediate
Can assertNotEquals be used to compare objects in JUnit?
Yes, it compares objects using their equals() method to check if they are not equal.
Click to reveal answer
beginner
Why is assertNotEquals useful in testing?
It helps confirm that two values or objects are different, ensuring the code does not produce unwanted equal results.
Click to reveal answer
What will happen if assertNotEquals(10, 10) is executed in a JUnit test?
AThe test passes
BThe test throws an exception unrelated to assertion
CThe test is skipped
DThe test fails
✗ Incorrect
assertNotEquals expects values to be different. Since 10 equals 10, the test fails.
Which method does assertNotEquals use to compare objects?
Aequals() method
B== operator
ChashCode() method
DtoString() method
✗ Incorrect
assertNotEquals uses the equals() method to check if objects are not equal.
What is the correct syntax to add a failure message in assertNotEquals?
AassertNotEquals(message, expected, actual);
BassertNotEquals(expected, actual, message);
CassertNotEquals(expected, message, actual);
DassertNotEquals(actual, expected, message);
✗ Incorrect
The message comes first: assertNotEquals(String message, Object unexpected, Object actual).
Which JUnit version introduced assertNotEquals?
AJUnit 3
BJUnit 5
CJUnit 4
DJUnit 2
✗ Incorrect
assertNotEquals was introduced in JUnit 4.
If you want to check two strings are not equal ignoring case, can you use assertNotEquals directly?
AYes, it ignores case by default
BNo, you must compare ignoring case manually
CYes, but only in JUnit 5
DNo, you must use assertNotSame instead
✗ Incorrect
assertNotEquals uses equals() which is case sensitive. For ignoring case, compare manually.
Explain how assertNotEquals works in JUnit and when you would use it.
Think about confirming two things should not match in your test.
You got /4 concepts.
Describe the difference between assertEquals and assertNotEquals in JUnit.
One checks sameness, the other checks difference.
You got /4 concepts.
Practice
(1/5)
1. What does the JUnit method assertNotEquals check in a test?
easy
A. That two values are not the same
B. That two values are equal
C. That a value is true
D. That a value is null
Solution
Step 1: Understand the purpose of assertNotEquals
This method is used to verify that two values are different, meaning they should not be equal.
Step 2: Compare with other assertions
Unlike assertEquals which checks equality, assertNotEquals ensures values differ.
Final Answer:
That two values are not the same -> Option A
Quick Check:
assertNotEquals means values differ [OK]
Hint: Remember: 'NotEquals' means values must differ [OK]
Common Mistakes:
Confusing assertNotEquals with assertEquals
Thinking it checks for null values
Assuming it checks boolean true
2. Which of the following is the correct syntax to assert that two integers are not equal in JUnit with a custom error message?
easy
A. assertNotEquals(5, 10);
B. assertNotEquals(5 == 10);
C. assertNotEquals(5, 10, "Error");
D. assertNotEquals(5 != 10);
Solution
Step 1: Review method signatures
JUnit's assertNotEquals can take two values and an optional message as the last parameter.
Step 2: Check each option
assertNotEquals(5, 10); is valid but lacks a message; assertNotEquals(5, 10, "Error"); is correct syntax with message; Options B and C are invalid because they misuse boolean expressions.
Final Answer:
assertNotEquals(5, 10, "Error"); -> Option C
Quick Check:
Correct syntax includes values and optional message [OK]
Hint: Use assertNotEquals(value1, value2, message) for clarity [OK]
Common Mistakes:
Passing boolean expressions instead of values
Omitting required parameters
Using incorrect parameter order
3. What will happen when the following JUnit test runs?
int a = 3; int b = 3; assertNotEquals(a, b);
medium
A. Compilation error due to wrong syntax
B. Test passes because a and b are equal
C. Test passes because a and b are not equal
D. Test fails because a and b are equal
Solution
Step 1: Analyze variable values
Both a and b are assigned the value 3, so they are equal.
Step 2: Understand assertNotEquals behavior
assertNotEquals expects the two values to be different. Since they are equal, the assertion fails and the test fails.
Final Answer:
Test fails because a and b are equal -> Option D
Quick Check:
Equal values cause assertNotEquals to fail [OK]
Hint: assertNotEquals fails if values are the same [OK]
Common Mistakes:
Thinking test passes when values are equal
Confusing assertNotEquals with assertEquals
Assuming syntax error without checking code
4. Identify the error in this JUnit test snippet:
String expected = "hello"; String actual = "hello"; assertNotEquals(expected, actual);
medium
A. Test fails because expected and actual are equal
B. No error; test passes
C. Syntax error due to missing message
D. NullPointerException at runtime
Solution
Step 1: Check values of variables
Both expected and actual hold the string "hello", so they are equal.
Step 2: Understand assertNotEquals effect
The assertion expects different values. Since they are equal, the test fails but no syntax or runtime error occurs.
Final Answer:
Test fails because expected and actual are equal -> Option A
Quick Check:
Equal strings cause assertNotEquals to fail [OK]
Hint: assertNotEquals fails if strings match exactly [OK]
Common Mistakes:
Assuming test passes when strings are equal
Thinking message parameter is mandatory
Expecting runtime exceptions incorrectly
5. You want to test that a method generateId() never returns the value 0. Which JUnit assertion using assertNotEquals correctly tests this with 0 as the first argument and a custom message?
hard
A. assertNotEquals(0, 0, "ID should not be zero");
B. assertNotEquals(0, generateId(), "ID should not be zero");
C. assertNotEquals(generateId(), 0);
D. assertNotEquals("0", generateId());
Solution
Step 1: Identify correct parameter order and message
The expected forbidden value is 0, so it should be the first parameter. The actual value is from generateId(). Adding a message helps explain failure.
Step 2: Evaluate options for correctness
assertNotEquals(0, generateId(), "ID should not be zero"); correctly uses assertNotEquals(0, generateId(), "ID should not be zero"). assertNotEquals(generateId(), 0); misses the message and reverses parameters. assertNotEquals(0, 0, "ID should not be zero"); compares 0 to 0, which always fails. assertNotEquals("0", generateId()); compares string "0" to int, which is incorrect.
Final Answer:
assertNotEquals(0, generateId(), "ID should not be zero"); -> Option B
Quick Check:
Use expected value first, actual second, with message [OK]
Hint: Put expected value first, actual second, add message [OK]
Common Mistakes:
Swapping expected and actual parameters
Comparing different data types
Omitting helpful failure message
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.