Package de.fuberlin.wiwiss.d2rq.map

Source Code of de.fuberlin.wiwiss.d2rq.map.TranslationTableTest

package de.fuberlin.wiwiss.d2rq.map;

import junit.framework.TestCase;

import com.hp.hpl.jena.rdf.model.Resource;
import com.hp.hpl.jena.rdf.model.ResourceFactory;

import de.fuberlin.wiwiss.d2rq.map.TranslationTable.Translation;
import de.fuberlin.wiwiss.d2rq.values.Translator;

/**
* Tests the TranslationTable functionality
*
* @author Richard Cyganiak (richard@cyganiak.de)
*/
public class TranslationTableTest extends TestCase {
  Resource table1 = ResourceFactory.createResource("http://test/table1");

  public void testNewTranslationTableIsEmpty() {
    TranslationTable table = new TranslationTable(table1);
    assertEquals(0, table.size());
  }
 
  public void testTranslationTableIsSizeOneAfterAddingOneTranslation() {
    TranslationTable table = new TranslationTable(table1);
    table.addTranslation("key1", "value1");
    assertEquals(1, table.size());
  }

  public void testTranslationTableTranslator() {
    TranslationTable table = new TranslationTable(table1);
    table.addTranslation("key1", "value1");
    table.addTranslation("key2", "value2");
    table.addTranslation("key3", "value3");
    Translator translator = table.translator();
    assertEquals("value1", translator.toRDFValue("key1"));
    assertEquals("value2", translator.toRDFValue("key2"));
    assertEquals("key1", translator.toDBValue("value1"));
    assertEquals("key2", translator.toDBValue("value2"));
  }

  public void testUndefinedTranslation() {
    TranslationTable table = new TranslationTable(table1);
    table.addTranslation("key1", "value1");
    Translator translator = table.translator();
    assertNull(translator.toRDFValue("unknownKey"));
    assertNull(translator.toDBValue("http://example.org/"));
  }
 
  public void testNullTranslation() {
    TranslationTable table = new TranslationTable(table1);
    table.addTranslation("key1", "value1");
    Translator translator = table.translator();
    assertNull(translator.toRDFValue(null));
    assertNull(translator.toDBValue(null));
  }
 
  public void testTranslationsWithSameValuesAreEqual() {
    Translation t1 = new Translation("foo", "bar");
    Translation t2 = new Translation("foo", "bar");
    assertEquals(t1, t2);
    assertEquals(t1.hashCode(), t2.hashCode());
  }
 
  public void testTranslationsWithDifferentValuesAreNotEqual() {
    Translation t1 = new Translation("foo", "bar");
    Translation t2 = new Translation("foo", "bar2");
    Translation t3 = new Translation("foo2", "bar");
    assertFalse(t1.equals(t2));
    assertFalse(t2.equals(t1));
    assertFalse(t1.hashCode() == t2.hashCode());
    assertFalse(t1.equals(t3));
    assertFalse(t3.equals(t1));
    assertFalse(t1.hashCode() == t3.hashCode());
  }
}
TOP

Related Classes of de.fuberlin.wiwiss.d2rq.map.TranslationTableTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.