Skip to content
Snippets Groups Projects
Commit 0b7c0f01 authored by Andrea Burattin's avatar Andrea Burattin
Browse files

Added tests for filters

parent b90beda0
No related branches found
No related tags found
No related merge requests found
package beamline.tests; package beamline.tests;
import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.Assert.assertFalse;
import static org.hamcrest.Matchers.hasItems; import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.ArrayList;
import java.util.List;
import org.apache.flink.api.common.functions.FilterFunction;
import org.apache.flink.api.common.functions.util.ListCollector;
import org.apache.flink.api.java.ExecutionEnvironment;
import org.deckfour.xes.model.impl.XAttributeLiteralImpl;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import beamline.events.BEvent;
import beamline.exceptions.EventException;
import beamline.filters.ExcludeActivitiesFilter; import beamline.filters.ExcludeActivitiesFilter;
import beamline.filters.ExcludeOnCaseAttributeEqualityFilter; import beamline.filters.ExcludeOnCaseAttributeEqualityFilter;
import beamline.filters.RetainActivitiesFilter; import beamline.filters.RetainActivitiesFilter;
import beamline.filters.RetainOnCaseAttributeEqualityFilter; import beamline.filters.RetainOnCaseAttributeEqualityFilter;
import beamline.utils.EventUtils;
public class FiltersTest { public class FiltersTest {
@Test @Test
public void test_exclude_activities_on_name_filter() { public void test_exclude_activities_on_name_filter() throws EventException, Exception {
ExcludeActivitiesFilter f = new ExcludeActivitiesFilter("A");
FilterFunction f = new ExcludeActivitiesFilter("A");
List<String> out = new ArrayList<>();
ListCollector<String> listCollector = new ListCollector<>(out);
f.fil
// List<String> results = new ArrayList<String>(); assertTrue(f.filter(BEvent.create("", "B", "")));
// Utils.generateObservableSameCaseId() assertFalse(f.filter(BEvent.create("", "A", "")));
// .filter(new ExcludeActivitiesFilter("A"))
// .subscribe((t) -> results.add(EventUtils.getActivityName(t)));
// assertEquals(3, results.size());
// assertThat(results, hasItems("K","B","C"));
} }
@Test @Test
public void test_retain_activities_on_name_filter() { public void test_retain_activities_on_name_filter() throws EventException {
List<String> results = new ArrayList<String>(); RetainActivitiesFilter f = new RetainActivitiesFilter("A");
Utils.generateObservableSameCaseId()
.filter(new RetainActivitiesFilter("A","B")) assertTrue(f.filter(BEvent.create("", "A", "")));
.subscribe((t) -> results.add(EventUtils.getActivityName(t))); assertFalse(f.filter(BEvent.create("", "B", "")));
assertEquals(3, results.size());
assertThat(results, hasItems("A","B","A"));
}
@Test
public void test_retain_activities_on_case_attribute_filter_1() {
List<String> results = new ArrayList<String>();
Utils.generateObservableSameCaseId()
.filter(new RetainOnCaseAttributeEqualityFilter<XAttributeLiteralImpl>(
"a1",
new XAttributeLiteralImpl("a1", "v1")))
.subscribe((t) -> results.add(EventUtils.getActivityName(t)));
assertEquals(1, results.size());
assertThat(results, hasItems("A"));
} }
@Test @Test
public void test_retain_activities_on_case_attribute_filter_2() { public void test_retain_activities_on_case_attribute_filter() throws EventException {
List<String> results = new ArrayList<String>(); BEvent e1 = BEvent.create("", "", "");
Utils.generateObservableSameCaseId() BEvent e2 = BEvent.create("", "", "");
.filter(new RetainOnCaseAttributeEqualityFilter<XAttributeLiteralImpl>(
"a1", e1.getTraceAttributes().put("a", "v1");
new XAttributeLiteralImpl("a1", "v1"), e2.getTraceAttributes().put("a", "v2");
new XAttributeLiteralImpl("a1", "v4")))
.subscribe((t) -> results.add(EventUtils.getActivityName(t))); RetainOnCaseAttributeEqualityFilter<String> f = new RetainOnCaseAttributeEqualityFilter<String>("a", "v1");
assertEquals(2, results.size());
assertThat(results, hasItems("A","C")); assertTrue(f.filter(e1));
assertFalse(f.filter(e2));
} }
@Test @Test
public void test_exclude_activities_on_case_attribute_filter_1() { public void test_exclude_activities_on_case_attribute_filter() throws EventException {
List<String> results = new ArrayList<String>(); BEvent e1 = BEvent.create("", "", "");
Utils.generateObservableSameCaseId() BEvent e2 = BEvent.create("", "", "");
.filter(new ExcludeOnCaseAttributeEqualityFilter<XAttributeLiteralImpl>(
"a1", e1.getTraceAttributes().put("a", "v1");
new XAttributeLiteralImpl("a1", "v1"))) e2.getTraceAttributes().put("a", "v2");
.subscribe((t) -> results.add(EventUtils.getActivityName(t)));
assertEquals(4, results.size()); ExcludeOnCaseAttributeEqualityFilter<String> f = new ExcludeOnCaseAttributeEqualityFilter<String>("a", "v1");
assertThat(results, hasItems("K","B","A","C"));
assertFalse(f.filter(e1));
assertTrue(f.filter(e2));
} }
@Test
public void test_exclude_activities_on_case_attribute_filter_2() {
List<String> results = new ArrayList<String>();
Utils.generateObservableSameCaseId()
.filter(new ExcludeOnCaseAttributeEqualityFilter<XAttributeLiteralImpl>(
"a1",
new XAttributeLiteralImpl("a1", "v1"),
new XAttributeLiteralImpl("a1", "v4")))
.subscribe((t) -> results.add(EventUtils.getActivityName(t)));
assertEquals(3, results.size());
assertThat(results, hasItems("K","B","A"));
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment