Code Search for Developers
 
 
  

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

Texai

Texai is an chatbot that intelligently seeks to acquire knowledge and friendly behaviors.

Project homepage: http://sourceforge.net/projects/texai
Programming language(s): Java,Shell Script,XML
License: other

  AssociationFinderBeanTest.java
  DomainEntityLoaderBeanTest.java
  DomainEntityPersisterBeanTest.java
  TermDefinitionAccessorBeanTest.java
  TermFinderFacadeBeanTest.java
  TermFinderFacadeBeanTestWithKB.java