package at.ac.univie.mminf.qskos4j.issues; import at.ac.univie.mminf.qskos4j.issues.concepts.AuthoritativeConcepts; import at.ac.univie.mminf.qskos4j.issues.concepts.InvolvedConcepts; import at.ac.univie.mminf.qskos4j.issues.conceptscheme.MappingRelationsMisuse; import at.ac.univie.mminf.qskos4j.util.vocab.RepositoryBuilder; import junit.framework.Assert; import org.junit.Before; import org.junit.Test; import org.openrdf.OpenRDFException; import org.openrdf.model.Statement; import java.io.IOException; import java.util.Collection; public class MappingRelationsMisuseTest { private MappingRelationsMisuse mappingRelationsMisuse; @Before public void setUp() throws IOException, OpenRDFException { mappingRelationsMisuse = new MappingRelationsMisuse(new AuthoritativeConcepts(new InvolvedConcepts())); mappingRelationsMisuse.setRepositoryConnection( new RepositoryBuilder().setUpFromTestResource("mappingRelationsMisuse.rdf").getConnection()); } @Test public void mappingRelationsMisuseCount() throws OpenRDFException { Assert.assertEquals(5, mappingRelationsMisuse.getResult().getData().size()); } @Test public void affectedConcepts() throws OpenRDFException { Collection<Statement> result = mappingRelationsMisuse.getResult().getData(); Assert.assertTrue(isAffected("conceptA", "conceptB", result)); Assert.assertTrue(isAffected("conceptC", "conceptD", result)); Assert.assertTrue(isAffected("conceptI", "conceptJ", result)); Assert.assertTrue(isAffected("conceptM", "conceptN", result)); Assert.assertTrue(isAffected("conceptK", "conceptL", result)); } private boolean isAffected(String subjUriSuffix, String objUriSuffix, Collection<Statement> statements) { for (Statement statement : statements) { if (statement.getSubject().stringValue().endsWith(subjUriSuffix) && statement.getObject().stringValue().endsWith(objUriSuffix)) { return true; } } return false; } }