AssociationFinderBeanTest.java from Texai at Krugle
Show AssociationFinderBeanTest.java syntax highlighted
/*
* AssociationFinderBeanTest.java
* JUnit based test
*
* Created on November 1, 2006, 10:11 PM
*
* Copyright (C) 2006 Stephen L. Reed.
*
* This program is free software; you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with this program;
* if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
package org.texai.kb.ejb.session;
import java.util.HashSet;
import junit.framework.*;
import java.util.Set;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import net.sf.ehcache.CacheManager;
import org.texai.kb.CacheInitializer;
import org.texai.kb.ejb.entity.AbstractReifiedTerm;
import org.texai.kb.ejb.entity.AbstractTerm;
import org.texai.kb.ejb.entity.AtomicTerm;
import org.texai.kb.ejb.entity.BinaryGAF;
import org.texai.kb.ejb.session.shared.AssociationFinderBean;
import org.texai.kb.ejb.session.shared.TermFinderFacadeBean;
/**
*
* @author reed
*/
public class AssociationFinderBeanTest extends TestCase {
/** the entity manager factory */
private static EntityManagerFactory entityManagerFactory;
/** the entity manager */
private static EntityManager entityManager;
public AssociationFinderBeanTest(String testName) {
super(testName);
}
protected void setUp() throws Exception {
if (entityManager == null) {
System.out.println("oneTimeSetup");
try {
getClass().getClassLoader().setDefaultAssertionStatus(true);
CacheInitializer.initializeCaches();
System.out.println("setUp: creating EntityManager");
entityManagerFactory = Persistence.createEntityManagerFactory("TestPersistenceUnit");
entityManager = entityManagerFactory.createEntityManager();
System.out.println("entityManager created");
} catch (Exception e) {
e.printStackTrace();
fail(e.getMessage());
}
}
if (entityManager.getTransaction().isActive()) {
entityManager.getTransaction().rollback();
}
try {
} catch (Exception e) {
e.printStackTrace();
fail(e.getMessage());
}
}
protected void tearDown() throws Exception {
}
/**
* Test of gatherArg2TermsFromBinaryGAFs method, of class org.texai.kb.ejb.session.AssociationFinderBean.
*/
public void testGatherArg2TermsFromBinaryGAFs() {
System.out.println("gatherArg2TermsFromBinaryGAFs");
EntityTransaction entityTransaction = entityManager.getTransaction();
entityTransaction.begin();
assertTrue(entityTransaction.isActive());
TermFinderFacadeBean termFinderFacade = new TermFinderFacadeBean();
termFinderFacade.setEntityManager(entityManager);
AtomicTerm predicate = termFinderFacade.findAtomicTermByTermName("isa");
AbstractTerm arg1 = termFinderFacade.findAtomicTermByTermName("Lung");
AbstractReifiedTerm context = termFinderFacade.findAtomicTermByTermName("TopicMt");
AssociationFinderBean instance = new AssociationFinderBean();
instance.setEntityManager(entityManager);
instance.setTermFinderFacade(termFinderFacade);
Set<AbstractTerm> expResult = new HashSet<AbstractTerm>();
expResult.add(termFinderFacade.findAtomicTermByTermName("InternalAnimalBodyRegionType"));
expResult.add(termFinderFacade.findAtomicTermByTermName("SymmetricAnatomicalPartType"));
expResult.add(termFinderFacade.findAtomicTermByTermName("AnimalBodyPartType"));
expResult.add(termFinderFacade.findAtomicTermByTermName("SpecificAnimalBodyParts-Physiology-Topic"));
expResult.add(termFinderFacade.findAtomicTermByTermName("SpatiallyDisjointObjectType"));
Set<AbstractTerm> result = instance.gatherArg2TermsFromBinaryGAFs(predicate, arg1, context);
assertEquals(expResult, result);
entityTransaction.commit();
assertTrue(!entityTransaction.isActive());
System.out.println(" gatherArg2TermsFromBinaryGAFs OK");
}
/**
* Test of gatherArg2TermsFromBinaryGAFsWithinContext method, of class org.texai.kb.ejb.session.AssociationFinderBean.
*/
public void testGatherArg2TermsFromBinaryGAFsWithinContext() {
System.out.println("gatherArg2TermsFromBinaryGAFsWithinContext");
EntityTransaction entityTransaction = entityManager.getTransaction();
entityTransaction.begin();
assertTrue(entityTransaction.isActive());
TermFinderFacadeBean termFinderFacade = new TermFinderFacadeBean();
termFinderFacade.setEntityManager(entityManager);
AtomicTerm predicate = termFinderFacade.findAtomicTermByTermName("isa");
AbstractTerm arg1 = termFinderFacade.findAtomicTermByTermName("Lung");
AbstractReifiedTerm context = termFinderFacade.findAtomicTermByTermName("BaseKB");
AssociationFinderBean instance = new AssociationFinderBean();
instance.setEntityManager(entityManager);
instance.setTermFinderFacade(termFinderFacade);
Set<AbstractTerm> expResult = new HashSet<AbstractTerm>();
expResult.add(termFinderFacade.findAtomicTermByTermName("SymmetricAnatomicalPartType"));
Set<AbstractTerm> result = instance.gatherArg2TermsFromBinaryGAFsWithinContext(predicate, arg1, context);
assertEquals(expResult, result);
entityTransaction.commit();
assertTrue(!entityTransaction.isActive());
System.out.println(" gatherArg2TermsFromBinaryGAFsWithinContext OK");
}
/**
* Test of gatherBinaryGAFsByArg1TermWithinContext method, of class org.texai.kb.ejb.session.AssociationFinderBean.
*/
public void testGatherBinaryGAFsByArg1TermWithinContext() {
System.out.println("gatherBinaryGAFsByArg1TermWithinContext");
EntityTransaction entityTransaction = entityManager.getTransaction();
entityTransaction.begin();
assertTrue(entityTransaction.isActive());
TermFinderFacadeBean termFinderFacade = new TermFinderFacadeBean();
termFinderFacade.setEntityManager(entityManager);
AbstractTerm arg1 = termFinderFacade.findAtomicTermByTermName("Lung");
AbstractReifiedTerm context = termFinderFacade.findAtomicTermByTermName("BaseKB");
AssociationFinderBean instance = new AssociationFinderBean();
instance.setEntityManager(entityManager);
instance.setTermFinderFacade(termFinderFacade);
Set<BinaryGAF> result = instance.gatherBinaryGAFsByArg1TermWithinContext(arg1, context);
assertTrue(result.toString().contains("isa(Lung, SymmetricAnatomicalPartType)"));
assertEquals(1, result.size());
context = termFinderFacade.findAtomicTermByTermName("UniversalVocabularyMt");
result = instance.gatherBinaryGAFsByArg1TermWithinContext(arg1, context);
assertEquals(6, result.size());
entityTransaction.commit();
assertTrue(!entityTransaction.isActive());
System.out.println(" gatherBinaryGAFsByArg1TermWithinContext OK");
}
/**
* Test of gatherBinaryGAFsByArg1Term method, of class org.texai.kb.ejb.session.AssociationFinderBean.
*/
public void testGatherBinaryGAFsByArg1Term() {
System.out.println("gatherBinaryGAFsByArg1Term");
EntityTransaction entityTransaction = entityManager.getTransaction();
entityTransaction.begin();
assertTrue(entityTransaction.isActive());
TermFinderFacadeBean termFinderFacade = new TermFinderFacadeBean();
termFinderFacade.setEntityManager(entityManager);
AbstractTerm arg1 = termFinderFacade.findAtomicTermByTermName("Lung");
AbstractReifiedTerm context = termFinderFacade.findAtomicTermByTermName("BaseKB");
AssociationFinderBean instance = new AssociationFinderBean();
instance.setEntityManager(entityManager);
instance.setTermFinderFacade(termFinderFacade);
Set<BinaryGAF> result = instance.gatherBinaryGAFsByArg1Term(arg1, context);
assertEquals(7, result.size());
context = termFinderFacade.findAtomicTermByTermName("EnglishMt");
result = instance.gatherBinaryGAFsByArg1Term(arg1, context);
assertEquals(10, result.size());
entityTransaction.commit();
assertTrue(!entityTransaction.isActive());
System.out.println(" gatherBinaryGAFsByArg1Term OK");
}
/**
* Test of gatherContextsRelevantFrom method, of class org.texai.kb.ejb.session.AssociationFinderBean.
*/
public void testGatherContextsRelevantFrom() {
System.out.println("gatherContextsRelevantFrom");
EntityTransaction entityTransaction = entityManager.getTransaction();
entityTransaction.begin();
assertTrue(entityTransaction.isActive());
TermFinderFacadeBean termFinderFacade = new TermFinderFacadeBean();
termFinderFacade.setEntityManager(entityManager);
AbstractReifiedTerm context = termFinderFacade.findAtomicTermByTermName("BaseKB");
assertNotNull(context);
AssociationFinderBean instance = new AssociationFinderBean();
instance.setEntityManager(entityManager);
instance.setTermFinderFacade(termFinderFacade);
Set<AbstractReifiedTerm> result = instance.gatherContextsRelevantFrom(context);
assertTrue(result.contains(context));
assertTrue(result.contains(termFinderFacade.findAtomicTermByTermName("CycAgencyTheoryMt")));
assertTrue(result.contains(termFinderFacade.findAtomicTermByTermName("UniversalVocabularyMt")));
assertTrue(result.contains(termFinderFacade.findAtomicTermByTermName("CycHistoricalPossibilityTheoryMt")));
assertTrue(result.contains(termFinderFacade.findAtomicTermByTermName("CoreCycLMt")));
entityTransaction.commit();
assertTrue(!entityTransaction.isActive());
System.out.println(" gatherContextsRelevantFrom OK");
}
/**
* Test of gatherContextsImmediatelyRelevantFrom method, of class org.texai.kb.ejb.session.AssociationFinderBean.
*/
public void testGatherContextsImmediatelyRelevantFrom() {
System.out.println("gatherContextsImmediatelyRelevantFrom");
EntityTransaction entityTransaction = entityManager.getTransaction();
entityTransaction.begin();
assertTrue(entityTransaction.isActive());
TermFinderFacadeBean termFinderFacade = new TermFinderFacadeBean();
termFinderFacade.setEntityManager(entityManager);
AbstractReifiedTerm context = termFinderFacade.findAtomicTermByTermName("BaseKB");
assertNotNull(context);
AssociationFinderBean instance = new AssociationFinderBean();
instance.setEntityManager(entityManager);
instance.setTermFinderFacade(termFinderFacade);
Set<AbstractReifiedTerm> result = instance.gatherContextsImmediatelyRelevantFrom(context);
assertTrue(result.contains(termFinderFacade.findAtomicTermByTermName("CycAgencyTheoryMt")));
assertTrue(result.contains(termFinderFacade.findAtomicTermByTermName("UniversalVocabularyMt")));
assertTrue(result.contains(termFinderFacade.findAtomicTermByTermName("CycHistoricalPossibilityTheoryMt")));
entityTransaction.commit();
assertTrue(!entityTransaction.isActive());
System.out.println(" gatherContextsImmediatelyRelevantFrom OK");
}
/** Performs one time tear down of test harness. This must be the last test method. */
public void testOneTimeTearDown() {
System.out.println("oneTimeTearDown");
CacheManager.getInstance().shutdown();
entityManager.close();
entityManagerFactory.close();
}
}
See more files for this project here