@@ -0,0 +1,1888 @@
+package de.retest.recheck.ignore;%0A%0Aimport static org.assertj.core.api.Assertions.assertThat;%0Aimport static org.mockito.Mockito.mock;%0Aimport static org.mockito.Mockito.when;%0A%0Aimport org.junit.jupiter.api.BeforeEach;%0Aimport org.junit.jupiter.api.Test;%0A%0Aimport de.retest.recheck.review.ignore.AttributeFilter;%0Aimport de.retest.recheck.ui.descriptors.Element;%0Aimport de.retest.recheck.ui.diff.AttributeDifference;%0A%0Aclass CompoundFilterTest %7B%0A%09private Element element;%0A%09private CompoundFilter filter;%0A%09private AttributeDifference attributeDifference;%0A%0A%09@BeforeEach%0A%09void setUp() %7B%0A%09%09element = mock( Element.class );%0A%09%09attributeDifference = mock( AttributeDifference.class );%0A%09%09final AttributeFilter attributeFilter = mock( AttributeFilter.class );%0A%0A%09%09when( attributeFilter.matches( element, %22input%22 ) ).thenReturn( true );%0A%09%09when( attributeFilter.matches( element, attributeDifference ) ).thenCallRealMethod();%0A%09%09filter = new CompoundFilter( attributeFilter );%0A%09%7D%0A%0A%09@Test%0A%09void should_not_match_when_matching_element() %7B%0A%09%09assertThat( filter.matches( element ) ).isFalse();%0A%09%7D%0A%0A%09@Test%0A%09void should_match_with_attribute_key_when_attribute_is_same() %7B%0A%09%09final String attributeKey = %22input%22;%0A%09%09assertThat( filter.matches( element, attributeKey ) ).isTrue();%0A%09%7D%0A%0A%09@Test%0A%09void should_not_match_with_attribute_key_when_attribute_is_different() %7B%0A%09%09final String attributeKey = %22tag%22;%0A%09%09assertThat( filter.matches( element, attributeKey ) ).isFalse();%0A%09%7D%0A%0A%09@Test%0A%09void should_match_with_attribute_difference_when_attribute_is_same() %7B%0A%09%09when( attributeDifference.getKey() ).thenReturn( %22input%22 );%0A%09%09assertThat( filter.matches( element, attributeDifference ) ).isTrue();%0A%09%7D%0A%0A%09@Test%0A%09void should_not_match_with_attribute_difference_when_attribute_is_different() %7B%0A%09%09when( attributeDifference.getKey() ).thenReturn( %22tag%22 );%0A%09%09assertThat( filter.matches( element, attributeDifference ) ).isFalse();%0A%09%7D%0A%7D%0A

Add tests for CompoundFilter