Answer Posted / me
"assert" statements are part of the Java assertion feature
introduced in Java 1.4. Java assertion feature allows
developer to put "assert" statements in Java source code to
help unit testing and debugging.
An "assert" statement has the following format:
assert boolean_expression : string_expression;
When this statement is executed:
* If boolean_expression evaluates to true, the statement
will pass normally.
* If boolean_expression evaluates to false, the
statement will fail with an "AssertionError" exception.
Here is a good example of an "assert" statement used to
check an invariant:
// Day-of-week calculator
// by FYICenter.com
public class DayOfWeek {
private int days = 0;
// main method for testing purpose
public static void main(String[] arg) {
int d = Integer.parseInt(arg[0]);
DayOfWeek o = new DayOfWeek(d);
System.out.print("Day of the week: "+o.getDayOfWeek());
}
// constrcutor
public DayOfWeek(int d) {
days = d;
}
// calculate day of the week
public String getDayOfWeek() {
if (days % 7 == 0) {
return "Sunday";
} else if (days % 7 == 1) {
return "Monday";
} else if (days % 7 == 2) {
return "Tuesday";
} else if (days % 7 == 3) {
return "Wednesday";
} else if (days % 7 == 4) {
return "Thursday";
} else if (days % 7 == 5) {
return "Friday";
} else {
assert days % 7 == 6 : days;
return "Saturday";
}
}
}
How To Compile and Run Java Programs with "assert" Statements?
If you are using "assert" statements in your Java program
for unit testing and debugging, you need to compile and
execute the program with extra command options to use them:
* Compilation - "javac -source 1.4 MyClass.java". This
tells the compiler to accept source code containing assertions.
* Executionn - "java -ea MyClass". This tells the JVM to
not skill "assert" statements. "-ea" is the same as
"-enableassertions".
Here is an example of compiling and executing the sample
program, DayOfWeek.java, presented in the previous question:
javac -source 1.4 DayOfWeek.java
java -ea DayOfWeek 1
Day of the week: Monday
java -ea DayOfWeek 6
Day of the week: Saturday
java -ea DayOfWeek 14
Day of the week: Sunday
java -ea DayOfWeek -2
Exception in thread "main" java.lang.AssertionError: -2
at DayOfWeek.getDayOfWeek(DayOfWeek.java:34)
at DayOfWeek.main(DayOfWeek.java:11)
As expected, the code does not handle negative numbers correctly
| Is This Answer Correct ? | 8 Yes | 3 No |
Post New Answer View All Answers
What is actionmapping?
Can we have more than one struts-config.xml file for a single struts application?
Can you give an overview of how a struts application flows?
what is ACID test for fresh engineers??what is the pattern??
How to upload struts file?
how to get the last 10 elements using logic:iterate in struts with hiernate from database.
Can explain about the validations and in your project where did u used the validations?
What is switchaction?
What is struts in j2ee?
What is the purpose of @emailvalidator?
Describe the mvc on struts?
how to debug struts project in netbean ?
What does apache struts do?
What is the purpose of @action annotation?
What is the flow of requests in struts based applications?