Package com.clarkparsia.pellint.test.lintpattern

Source Code of com.clarkparsia.pellint.test.lintpattern.LintPatternLoaderTest

package com.clarkparsia.pellint.test.lintpattern;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;

import java.util.Properties;

import org.junit.Test;

import com.clarkparsia.pellint.lintpattern.LintPatternLoader;
import com.clarkparsia.pellint.test.lintpattern.axiom.MockAxiomLintPattern;
import com.clarkparsia.pellint.test.lintpattern.ontology.MockOntologyLintPattern;

/**
* <p>
* Title:
* </p>
* <p>
* Description:
* </p>
* <p>
* Copyright: Copyright (c) 2008
* </p>
* <p>
* Company: Clark & Parsia, LLC. <http://www.clarkparsia.com>
* </p>
*
* @author Harris Lin
*/
public class LintPatternLoaderTest {
  private static final String MOCK_AXIOM_LINT_PATTERN_NAME = MockAxiomLintPattern.class.getName();
  private static final String MOCK_ONTOLOGY_LINT_PATTERN_NAME = MockOntologyLintPattern.class.getName();
  private static final String INT_PARAM = "IntParam";
  private static final String STRING_PARAM = "StringParam";
 
  @Test
  public void testAxiomLintPatternSuccess() {
    final int EXPECTED_INT_PARAM = 5;
    final String EXPECTED_STRING_PARAM = "HERE";
   
    Properties prop = new Properties();
    prop.setProperty(MOCK_AXIOM_LINT_PATTERN_NAME, "ON");
    prop.setProperty(MOCK_AXIOM_LINT_PATTERN_NAME + "." + INT_PARAM, String.valueOf(EXPECTED_INT_PARAM));
    prop.setProperty(MOCK_AXIOM_LINT_PATTERN_NAME + "." + STRING_PARAM, EXPECTED_STRING_PARAM);
    LintPatternLoader loader = new LintPatternLoader(prop);
   
    assertEquals(1, loader.getAxiomLintPatterns().size());
    assertEquals(0, loader.getOntologyLintPatterns().size());
   
    MockAxiomLintPattern pattern = (MockAxiomLintPattern) loader.getAxiomLintPatterns().get(0);
    assertEquals(EXPECTED_INT_PARAM, pattern.getIntParam());
    assertEquals(EXPECTED_STRING_PARAM, pattern.getStringParam());
  }

  @Test
  public void testOntologyLintPatternSuccess() {
    final int EXPECTED_INT_PARAM = 5;
    final String EXPECTED_STRING_PARAM = "HERE";
   
    Properties prop = new Properties();
    prop.setProperty(MOCK_ONTOLOGY_LINT_PATTERN_NAME, "ON");
    prop.setProperty(MOCK_ONTOLOGY_LINT_PATTERN_NAME + "." + INT_PARAM, String.valueOf(EXPECTED_INT_PARAM));
    prop.setProperty(MOCK_ONTOLOGY_LINT_PATTERN_NAME + "." + STRING_PARAM, EXPECTED_STRING_PARAM);
    LintPatternLoader loader = new LintPatternLoader(prop);
   
    assertEquals(1, loader.getOntologyLintPatterns().size());
    assertEquals(0, loader.getAxiomLintPatterns().size());
   
    MockOntologyLintPattern pattern = (MockOntologyLintPattern) loader.getOntologyLintPatterns().get(0);
    assertEquals(EXPECTED_INT_PARAM, pattern.getIntParam());
    assertEquals(EXPECTED_STRING_PARAM, pattern.getStringParam());
  }

  @Test
  public void testOff() {
    Properties prop = new Properties();
    prop.setProperty(MOCK_AXIOM_LINT_PATTERN_NAME, "OFF");
    prop.setProperty(MOCK_ONTOLOGY_LINT_PATTERN_NAME, "XXX");
    LintPatternLoader loader = new LintPatternLoader(prop);
   
    assertEquals(LintPatternLoader.DEFAULT_AXIOM_LINT_PATTERNS, loader.getAxiomLintPatterns());
    assertEquals(LintPatternLoader.DEFAULT_ONTOLOGY_LINT_PATTERNS, loader.getOntologyLintPatterns());
  }
 
  @Test
  public void testPatternNotFound() {
    Properties prop = new Properties();
    prop.setProperty("com.foo", "on");
    prop.setProperty("com.foo", "off");
    LintPatternLoader loader = new LintPatternLoader(prop);
   
    assertEquals(LintPatternLoader.DEFAULT_AXIOM_LINT_PATTERNS, loader.getAxiomLintPatterns());
    assertEquals(LintPatternLoader.DEFAULT_ONTOLOGY_LINT_PATTERNS, loader.getOntologyLintPatterns());
  }
 
  @Test
  public void testParamNotFound() {
    Properties prop = new Properties();
    prop.setProperty(MOCK_AXIOM_LINT_PATTERN_NAME, "ON");
    prop.setProperty(MOCK_AXIOM_LINT_PATTERN_NAME + "." + "foo", "10");
    prop.setProperty(MOCK_ONTOLOGY_LINT_PATTERN_NAME, "ON");
    prop.setProperty(MOCK_ONTOLOGY_LINT_PATTERN_NAME + "." + "foo", "X");
    LintPatternLoader loader = new LintPatternLoader(prop);
   
    assertEquals(1, loader.getAxiomLintPatterns().size());
    assertEquals(1, loader.getOntologyLintPatterns().size());
   
    MockAxiomLintPattern axiomPattern = (MockAxiomLintPattern) loader.getAxiomLintPatterns().get(0);
    assertEquals(0, axiomPattern.getIntParam());
    assertNull(axiomPattern.getStringParam());
   
    MockOntologyLintPattern ontologyPattern = (MockOntologyLintPattern) loader.getOntologyLintPatterns().get(0);
    assertEquals(0, ontologyPattern.getIntParam());
    assertNull(ontologyPattern.getStringParam());
  }

  @Test
  public void testParamWrongType1() {
    Properties prop = new Properties();
    prop.setProperty(MOCK_AXIOM_LINT_PATTERN_NAME, "ON");
    prop.setProperty(MOCK_AXIOM_LINT_PATTERN_NAME + "." + INT_PARAM, "XXX");
    LintPatternLoader loader = new LintPatternLoader(prop);
   
    MockAxiomLintPattern axiomPattern = (MockAxiomLintPattern) loader.getAxiomLintPatterns().get(0);
    assertEquals(0, axiomPattern.getIntParam());
  }

  @Test
  public void testParamWrongType2() {
    Properties prop = new Properties();
    prop.setProperty(MOCK_AXIOM_LINT_PATTERN_NAME, "ON");
    prop.setProperty(MOCK_AXIOM_LINT_PATTERN_NAME + "." + INT_PARAM, "5.5");
    LintPatternLoader loader = new LintPatternLoader(prop);
   
    MockAxiomLintPattern axiomPattern = (MockAxiomLintPattern) loader.getAxiomLintPatterns().get(0);
    assertEquals(0, axiomPattern.getIntParam());
  }
}
TOP

Related Classes of com.clarkparsia.pellint.test.lintpattern.LintPatternLoaderTest

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.