package eu.dnetlib.iis.wf.importer.input.approver; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Test; import eu.dnetlib.data.proto.FieldTypeProtos.DataInfo; import eu.dnetlib.data.proto.FieldTypeProtos.Qualifier; import eu.dnetlib.iis.wf.importer.infospace.approver.DataInfoBasedApprover; /** * {@link DataInfoBasedApprover} test class. * * @author mhorst * */ public class DataInfoBasedApproverTest { @Test public void testMatching() throws Exception { assertFalse(new DataInfoBasedApprover("iis", true, null) .approve(DataInfo.newBuilder() .setProvenanceaction(Qualifier.newBuilder().build()) .setDeletedbyinference(false).setInferred(true) .setInferenceprovenance("iis").build())); assertFalse(new DataInfoBasedApprover("iis::\\w*", true, null) .approve(DataInfo.newBuilder() .setProvenanceaction(Qualifier.newBuilder().build()) .setDeletedbyinference(false).setInferred(true) .setInferenceprovenance("iis::some_alg").build())); assertFalse(new DataInfoBasedApprover("iis::.*", true, null) .approve(DataInfo.newBuilder() .setProvenanceaction(Qualifier.newBuilder().build()) .setDeletedbyinference(false).setInferred(true) .setInferenceprovenance("iis::some_alg::version").build())); // approved: non inferenced assertTrue(new DataInfoBasedApprover("iis::.*", true, null) .approve(DataInfo.newBuilder() .setProvenanceaction(Qualifier.newBuilder().build()) .setDeletedbyinference(false).setInferred(false) .setInferenceprovenance("iis::some_alg::version").build())); // approved: unmatched inferenceprovenance assertTrue(new DataInfoBasedApprover("iis::.*", true, null) .approve(DataInfo.newBuilder() .setProvenanceaction(Qualifier.newBuilder().build()) .setDeletedbyinference(false).setInferred(true) .setInferenceprovenance("iis").build())); assertTrue(new DataInfoBasedApprover("iis::.*", true, null) .approve(DataInfo.newBuilder() .setProvenanceaction(Qualifier.newBuilder().build()) .setDeletedbyinference(false).setInferred(true) .setInferenceprovenance("iis:test").build())); } }