Verifying Results in Tests
5. March, 2009 at 11:46 | In Software | Leave a CommentTags: TDD, Testing, Tipps, Tricks
So you finally got yourself writing a test against a database. In the test, you have to verify that a row in the table is correct, so you write:
assertEquals (
"2008-09-16-13.50.18.000000;;;;1;2008-08-07;2008-08-07;JUNIT;2008-09-16;t0001;001;;Doe;Jane;;Street;2;Doe Jane;;;;;X;2575;John;;;;US;E;;01;;;;125;01425;0;Shop;;;DOE;JANE;JOHN;032;1;;0001010301;;;;",
dumpRow(key));
and it sucks. Yeah, junit will notify you when something in that row is wrong and if you have a cool IDE, you can even compare the fields … but it still sucks. If one of the fields in the middle change, you have to scroll and eyeball-diff, wasting your time. The solution is pretty simple:
assertEquals (
"2008-09-16-13.50.18.000000\n"
+ "\n"
+ "\n"
+ "\n"
+ "1\n"
+ "2008-08-07\n"
+ "2008-08-07\n"
+ "JUNIT\n"
+ "2008-09-16\n"
...
dumpRow(key).replaceAll(";", "\n");
Instead of dumping the data in a single long string, split it into lines so you can compare fields side by side and without scrolling sideways.
Java Tricks: Commenting Out Code
25. February, 2009 at 10:05 | In Software | Leave a CommentTags: Java, Tipps, Tricks
How do you comment out code? Using /*...*/? Using your IDE to put // before each line? There is a third method:
if (0 == 1) {
... code ...
}
Pros:
- Nests
- You need only change a single character to “flip” the comment: Replace the 0 with 1.
- You won’t get warnings because of suddenly unused imports or local variables.
- The Java compiler will remove this block of code in the optimization step, so no runtime penality.
Cons:
- Can only be used inside of methods.
If you need a fast way to repeatedly comment in/out a piece of code elsewhere, use this syntax:
//* Fast flip comment starts here
... code ...
/* and ends here */
Inside of a /*...*/ comment, the sequence “/*” has no special meaning. To comment out the block of code, remove the first “/” in “//*”:
/* Fast flip comment starts here
... code ...
/* and ends here */
Java Tricks: Fastest Way to Collecting Objects in a String
11. July, 2008 at 19:08 | In Software | Leave a CommentTags: Java, Tipps, Tricks
The fastest way to collect a list of objects in a String in Java:
StringBuilder buffer = new StringBuilder ();
String delim = "";
for (Object o: list)
{
buffer.append (delim);
delim = ", "; // Avoid if(); assignment is very fast!
buffer.append (o);
}
buffer.toString ();
Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.
