diff --git a/lib/tsgenjava.pl b/lib/tsgenjava.pl
index e5c7c9e08c7c7f5add8e8eee4ca88680648bec7a..dc5f22b9d8604f334da6c6f5409deff6e2fd1e4b 100644
--- a/lib/tsgenjava.pl
+++ b/lib/tsgenjava.pl
@@ -19,6 +19,9 @@
 underscore_to_camel([0'_, X|Xs], [Xp|Xsp]) :- !,
     code_type(Xp, to_upper(X)),
     underscore_to_camel(Xs,Xsp).
+underscore_to_camel([0'-, X|Xs], [Xp|Xsp]) :- !,
+    code_type(Xp, to_upper(X)),
+    underscore_to_camel(Xs,Xsp).
 underscore_to_camel([X|Xs],[X|Xsp]) :- !,
     underscore_to_camel(Xs,Xsp).
 underscore_to_camel([],[]) :- !.
@@ -31,7 +34,8 @@ format_parser_name(Name, Result) :-
     append("Hammer.", Result0, Result), !.
 
 format_test_name(Name, Result) :-
-    atom_codes(Name, [CInit|CName]),
+    atom_codes(Name, NameCodes),
+    underscore_to_camel(NameCodes, [CInit|CName]),
     code_type(RInit, to_upper(CInit)),
     append("Test", [RInit|CName], Result), !.