Показаны сообщения с ярлыком Internal DSL. Показать все сообщения
Показаны сообщения с ярлыком Internal DSL. Показать все сообщения

среда, 27 октября 2010 г.

An Approach to Internal Domain-Specific Languages in Java

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.

четверг, 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");

вторник, 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.