@@ -0,0 +1,2510 @@
+package org.monospark.spongematchers.parser.type;%0A%0Aimport static org.hamcrest.CoreMatchers.not;%0Aimport static org.junit.Assert.assertThat;%0Aimport static org.monospark.spongematchers.testutil.HamcrestSpongeMatchers.matches;%0A%0Aimport java.util.List;%0A%0Aimport org.junit.Test;%0Aimport org.monospark.spongematchers.matcher.SpongeMatcher;%0Aimport org.monospark.spongematchers.parser.SpongeMatcherParseException;%0Aimport org.monospark.spongematchers.parser.element.StringElement;%0Aimport org.monospark.spongematchers.parser.element.StringElementParser;%0Aimport org.monospark.spongematchers.testutil.ExceptionChecker;%0A%0Aimport com.google.common.collect.Lists;%0A%0Apublic class ListTypeMatcher %7B%0A%0A    @Test%0A    public void parseMatcher_NonListElement_ThrowsException() throws SpongeMatcherParseException %7B%0A        StringElement element = StringElementParser.parseStringElement(%22empty%22);%0A        ExceptionChecker.check(SpongeMatcherParseException.class,%0A                () -%3E MatcherType.list(MatcherType.BOOLEAN).parseMatcher(element));%0A    %7D%0A    %0A    @Test%0A    public void parseMatcher_ValidListElement_ReturnsCorrectSpongeMatcher() throws SpongeMatcherParseException %7B%0A        StringElement element = StringElementParser.parseStringElement(%22%5Btrue,false%5D%22);%0A        %0A        SpongeMatcher%3CList%3CBoolean%3E%3E matcher = MatcherType.list(MatcherType.BOOLEAN).parseMatcher(element);%0A        %0A        assertThat(matcher, matches(Lists.newArrayList(true, false)));%0A        assertThat(matcher, not(matches(Lists.newArrayList(false, true))));%0A    %7D%0A    %0A    @Test%0A    public void parseMatcher_ListMatchAnyElement_ReturnsCorrectSpongeMatcher() throws SpongeMatcherParseException %7B%0A        StringElement element = StringElementParser.parseStringElement(%22any:false%22);%0A        %0A        SpongeMatcher%3CList%3CBoolean%3E%3E matcher = MatcherType.list(MatcherType.BOOLEAN).parseMatcher(element);%0A        %0A        assertThat(matcher, matches(Lists.newArrayList(true, false)));%0A        assertThat(matcher, not(matches(Lists.newArrayList(true, true))));%0A    %7D%0A    %0A    @Test%0A    public void parseMatcher_ListMatchAllElement_ReturnsCorrectSpongeMatcher() throws SpongeMatcherParseException %7B%0A        StringElement element = StringElementParser.parseStringElement(%22all:false%22);%0A        %0A        SpongeMatcher%3CList%3CBoolean%3E%3E matcher = MatcherType.list(MatcherType.BOOLEAN).parseMatcher(element);%0A        %0A        assertThat(matcher, matches(Lists.newArrayList(false, false)));%0A        assertThat(matcher, not(matches(Lists.newArrayList(false, true))));%0A    %7D%0A%7D%0A

Add unit tests for list matcher parsing