An Approach to Internal Domain-Specific Languages in Java
from author of Fest-Assert [here, here].
P.S. Fest-Assert is good example of Internal DSL in Java. In some sence is competitor of Hamcrest.
P.P.S. Yeep, i like Internal DSL and wrote about it: here about ApacheCamel, here about Hamcrest.
Показаны сообщения с ярлыком Internal DSL. Показать все сообщения
Показаны сообщения с ярлыком Internal DSL. Показать все сообщения
среда, 27 октября 2010 г.
четверг, 1 апреля 2010 г.
[DSL]: ApacheCamel
As i wrote early i like some 'specific' style of programming. So now i have yet some examples:
From here:
-------------------------
onException(ValidationException.class).to("activemq:validationFailed");
onException(MyFunctionalException.class).process(new MyFunctionFailureHandler()).stop();
from("jms:queue:order:input")
.to("bean:validateOrder");
.to("bean:transformOrder")
.to("bean:handleOrder");
From here:
-------------------------
onException(ValidationException.class).to("activemq:validationFailed");
onException(MyFunctionalException.class).process(new MyFunctionFailureHandler()).stop();
from("jms:queue:order:input")
.to("bean:validateOrder");
.to("bean:transformOrder")
.to("bean:handleOrder");
Ярлыки:
DSL,
Internal DSL
вторник, 26 января 2010 г.
Matchers, Constraints, Predicates
Это появилось в jmock и называлось - 'Сonstraints'. Потом Это выделили в проект Hamcrest и назвали 'Matchers'(='Constraints', ='Predicates'). В конце концов JUnit стал использовать Hamcrest и называет Это 'Matchers' или просто 'assertThat'.
assertThat(x, is(3));
assertThat(x, is(not(4)));
assertThat(responseString, either(containsString("color")).or(containsString("colour")));
assertThat(myList, hasItem("3"));
assertThat(something, isA(Color.class));
assertThat(something, contains("World"));
assertThat(something, same(Food.CHEESE));
assertThat(something, not(eq("Hello")));
assertThat(something, not(contains("Cheese")));
assertThat(something, or(contains("color"), contains("colour")));
assertThat(something, between(10, 20));
assertThat(list, includes("peach", "pear", "plum"));
--------------
JUnit также ввел в свою библиотеку Assumptions и Theories.
P.S. Спасибо Java 5 за static import + varargs.
assertThat(x, is(3));
assertThat(x, is(not(4)));
assertThat(responseString, either(containsString("color")).or(containsString("colour")));
assertThat(myList, hasItem("3"));
assertThat(something, isA(Color.class));
assertThat(something, contains("World"));
assertThat(something, same(Food.CHEESE));
assertThat(something, not(eq("Hello")));
assertThat(something, not(contains("Cheese")));
assertThat(something, or(contains("color"), contains("colour")));
assertThat(something, between(10, 20));
assertThat(list, includes("peach", "pear", "plum"));
--------------
JUnit также ввел в свою библиотеку Assumptions и Theories.
P.S. Спасибо Java 5 за static import + varargs.
Ярлыки:
DSL,
Internal DSL
Подписаться на:
Сообщения (Atom)