@@ -0,0 +1,1682 @@
+package com.asakusafw.lang.compiler.common;%0A%0Aimport static org.hamcrest.Matchers.*;%0Aimport static org.junit.Assert.*;%0A%0Aimport org.hamcrest.FeatureMatcher;%0Aimport org.hamcrest.Matcher;%0Aimport org.junit.Test;%0A%0A/**%0A * Test for %7B@link Predicates%7D.%0A */%0Apublic class PredicatesTest %7B%0A%0A    private static final Predicate%3CObject%3E T = Predicates.anything();%0A%0A    private static final Predicate%3CObject%3E F = Predicates.nothing();%0A%0A    /**%0A     * anything.%0A     */%0A    @Test%0A    public void anything() %7B%0A        assertThat(T.apply(%22a%22), is(true));%0A    %7D%0A%0A    /**%0A     * anything.%0A     */%0A    @Test%0A    public void nothing() %7B%0A        assertThat(F.apply(%22a%22), is(false));%0A    %7D%0A%0A    /**%0A     * not.%0A     */%0A    @Test%0A    public void not() %7B%0A        assertThat(Predicates.not(T), eq(F));%0A        assertThat(Predicates.not(F), eq(T));%0A    %7D%0A%0A    /**%0A     * and.%0A     */%0A    @Test%0A    public void and() %7B%0A        assertThat(Predicates.and(T, T), eq(T));%0A        assertThat(Predicates.and(F, T), eq(F));%0A        assertThat(Predicates.and(T, F), eq(F));%0A        assertThat(Predicates.and(F, F), eq(F));%0A    %7D%0A%0A    /**%0A     * or.%0A     */%0A    @Test%0A    public void or() %7B%0A        assertThat(Predicates.or(T, T), eq(T));%0A        assertThat(Predicates.or(F, T), eq(T));%0A        assertThat(Predicates.or(T, F), eq(T));%0A        assertThat(Predicates.or(F, F), eq(F));%0A    %7D%0A%0A    private Matcher%3CPredicate%3CObject%3E%3E eq(Predicate%3CObject%3E p) %7B%0A        return new FeatureMatcher%3CPredicate%3CObject%3E, Boolean%3E(is(p.apply(null)), %22eq%22, %22eq%22) %7B%0A            @Override%0A            protected Boolean featureValueOf(Predicate%3CObject%3E actual) %7B%0A                return actual.apply(null);%0A            %7D%0A        %7D;%0A    %7D%0A%7D%0A

Add tests for asakusa-compiler-common.