Browse souce code repository at: https://github.com/jjYBdx4IL/java-evaluation/blob/master/src/test/java/tests/java/lang/LambdaExpressionTest.java
package tests.java.lang;

import static org.junit.Assert.assertArrayEquals;

import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

public class LambdaExpressionTest {

    @Test
    public void testLambdaExpression() {
        assertArrayEquals(new String[] {}, filter(new String[] {},
            s -> false));
        assertArrayEquals(new String[] {}, filter(new String[] {},
            null));
        assertArrayEquals(new String[] {}, filter(new String[] { "" },
            s -> s != null && !s.isEmpty()));
        assertArrayEquals(new String[] {}, filter(new String[] { null },
            s -> s != null && !s.isEmpty()));
        assertArrayEquals(new String[] { "1", "2" }, filter(new String[] { "1", null, "2", "" },
            s -> s != null && !s.isEmpty()));
        assertArrayEquals(new String[] {}, filter(new String[] { "1", null, "2", "" },
            s -> false));
    }

    @Test(expected = NullPointerException.class)
    public void testNpe() {
        filter(new String[] { "" }, null);
    }

    private String[] filter(String[] strings, FuncIface fi) {
        List<String> result = new ArrayList<>();
        for (String i : strings) {
            if (fi.test(i)) {
                result.add(i);
            }
        }
        return result.toArray(new String[result.size()]);
    }

    // "functional interface", defined by: "contains only one abstract method"
    // (though it may more methods
    // of other types
    interface FuncIface {
        boolean test(String input);
    }
}
-------------------------------------------------------------------------------
Test set: tests.java.lang.LambdaExpressionTest
-------------------------------------------------------------------------------
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 s - in tests.java.lang.LambdaExpressionTest
testNpe  Time elapsed: 0 s
testLambdaExpression  Time elapsed: 0 s