package hu.advancedweb.example; import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.*; import java.util.function.Function; import org.junit.Test; public class LambdaTest { @Test public void test_with_lambda() throws Exception { Function<String, String> generatePalindrome = input -> { StringBuilder sb = new StringBuilder(); sb.append(input); sb.reverse(); String reversed = sb.toString(); String palindrome = input + reversed; return palindrome; }; String word = "cat"; String palindromized = generatePalindrome.apply(word); assertThat(palindromized, equalTo(word + word)); } @Test public void lambda_with_single_expression() throws Exception { Function<String, String> lambda = a -> a + a; String result = lambda.apply("1"); assertThat(result, equalTo("2")); } @Test public void lambda_with_single_fun_expression() throws Exception { Function<String, Function<String, String>> lambda = a -> b -> a + b; String result = lambda.apply("1").apply("2"); assertThat(result, equalTo("3")); } @Test public void lambda_with_single_expression_2() throws Exception { Function<String, String> lambda = a -> {return a + a;}; String result = lambda.apply("1"); assertThat(result, equalTo("2")); } @Test public void lambda_with_single_expression_3() throws Exception { Function<String, String> lambda = a -> a + a; String result = lambda.apply("1"); assertThat(result, equalTo("2")); } @Test public void lambda_with_single_expression_4() throws Exception { Function<String, String> lambda = a -> { return a; }; String result = lambda.apply("1"); assertThat(result, equalTo("2")); } }