Package com.linguamathematica.oa4j

Source Code of com.linguamathematica.oa4j.AnalysisServiceTestGivenTextA

package com.linguamathematica.oa4j;

import java.util.Set;

import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.mock;
import static com.linguamathematica.oa4j.Base.newSet;

import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

import com.linguamathematica.oa4j.Analysis.Decisiveness;
import com.linguamathematica.oa4j.Analysis.OfferingGuidance;
import com.linguamathematica.oa4j.Analysis.Polarity;
import com.linguamathematica.oa4j.Analysis.PolarityResult;
import com.linguamathematica.oa4j.Analysis.RequestingGuidance;
import com.linguamathematica.oa4j.Analysis.Temporality;
import com.linguamathematica.oa4j.DemographicsAnalysis.Age;
import com.linguamathematica.oa4j.DemographicsAnalysis.Education;
import com.linguamathematica.oa4j.DemographicsAnalysis.Gender;
import com.linguamathematica.oa4j.DemographicsAnalysis.Language;
import com.linguamathematica.oa4j.StylesAnalysis.Contrast;
import com.linguamathematica.oa4j.StylesAnalysis.Flamboyance;
import com.linguamathematica.oa4j.StylesAnalysis.Slang;
import com.linguamathematica.oa4j.TopicsAnalysis.Domain;
import com.linguamathematica.oa4j.TopicsAnalysis.Noun;

public class AnalysisServiceTestGivenTextA extends AbstractAnalysisServiceTest
{
  private static String textA;

  @Test
  public void returns_CorrectActionsAnalysis() throws Exception
  {
    final ActionsAnalysis expected = actionsAnalysis(//@formatter:off
       
        action(topic("go", 6), of(Decisiveness.LOW, 1), of(OfferingGuidance.TO_SOME_EXTENT, 2),
            of(RequestingGuidance.NOT_AT_ALL, 1), type("travel", 1), of(Temporality.FUTURE, 4)),

        action(topic("take", 6), of(Decisiveness.LOW, 1), of(OfferingGuidance.NOT_AT_ALL, 1),
            of(RequestingGuidance.NOT_AT_ALL, 1), type("other", 1), of(Temporality.PAST, 1)),

        action(topic("hunt", 4), of(Decisiveness.LOW, 1), of(OfferingGuidance.NOT_AT_ALL, 1),
            of(RequestingGuidance.NOT_AT_ALL, 1), type("attack", 1), of(Temporality.PAST, 1)),

        action(topic("find the money", 3), of(Decisiveness.LOW, 1), of(OfferingGuidance.NOT_AT_ALL, 1),
            of(RequestingGuidance.NOT_AT_ALL, 1), type("other", 1), of(Temporality.PRESENT, 3)),

        action(topic("get", 3), of(Decisiveness.LOW, 1), of(OfferingGuidance.NOT_AT_ALL, 1),
            of(RequestingGuidance.NOT_AT_ALL, 1), type("other", 1), of(Temporality.PAST, 1)));//@formatter:on

    assertThat(actionsAnalysisOf(textA), is(as(expected)));
  }

  @Test
  public void returns_CorrectDemographicsAnalysis() throws Exception
  {
    final DemographicsAnalysis expected = demographics(of(Age.ADULT, .01), of(Gender.NEUTRAL, 0),
        of(Education.PRE_SECONDARY, 1), of(Language.ENGLISH, 24.49));

    assertThat(demographicAnalysisOf(textA), is(as(expected)));
  }

  @Test
  public void returns_CorrectDomains() throws Exception
  {
    final Set<Domain> expected = newSet(//@formatter:off
        new Domain(topic("Family", 1), new Domain(topic("Immediate family", 1), new Domain(topic("son", 1), Domain.NULL))),
        new Domain(topic("Relationships", 12), new Domain(topic("widow", 12), Domain.NULL)),
        new Domain(topic("Politics", 6.0), new Domain(topic("Politicians", 6.0), new Domain(topic("douglas", 6.0), Domain.NULL))));
    //@formatter:on
    assertThat(domainsIn(textA), are(as(expected)));
  }

  @Test
  public void returns_CorrectLocations() throws Exception
  {
    final Set<Analysis.Result<String>> expected = newSet();

    assertThat(locationsIn(textA), are(as(expected)));
  }

  @Test
  public void returns_CorrectProperNouns() throws Exception
  {
    final Set<Noun> expected = newSet(//@formatter:off

        properNoun(topic("Judge Thatcher", 12), of(Polarity.NEUTRAL, 0), of(OfferingGuidance.TO_SOME_EXTENT, 2),
            of(RequestingGuidance.NOT_AT_ALL, 1), ner("Person", "female")),

        properNoun(topic("Tom Sawyer", 9), of(Polarity.NEUTRAL, 0), of(OfferingGuidance.NOT_AT_ALL, 1),
            of(RequestingGuidance.NOT_AT_ALL, 1), ner("Person", "male")),

        properNoun(topic("Tom", 7), of(Polarity.NEUTRAL, 0), of(OfferingGuidance.NOT_AT_ALL, 1),
            of(RequestingGuidance.NOT_AT_ALL, 1), ner("Person", "male")),
   
        properNoun(topic("Douglas", 6), of(Polarity.NEUTRAL, 0), of(OfferingGuidance.NOT_AT_ALL, 1),
            of(RequestingGuidance.NOT_AT_ALL, 1), ner("Person", "male")));//@formatter:on

    assertThat(properNounsIn(textA), are(as(expected)));
  }

  @Test
  public void returns_CorrectStyleAnalysis() throws Exception
  {
    final StylesAnalysis expected = style(of(Polarity.NEGATIVE, -.9), of(Polarity.NEGATIVE, -.01),
        of(Polarity.POSITIVE, .95), of(OfferingGuidance.A_LOT, 3), of(RequestingGuidance.NOT_AT_ALL, 1),
        of(Decisiveness.MEDIUM, 3), of(Slang.NO_SLANG, .57), of(Flamboyance.SOMEWHAT_FLAMBOYANT, 3),
        of(Contrast.NOT_AT_ALL, .19), of(Temporality.FUTURE, 4));

    assertThat(styleAnalysisOf(textA), is(as(expected)));
  }

  @Test
  public void returns_CorrectTopTopics() throws Exception
  {
    final Set<Noun> expected = newSet(//@formatter:off

        topTopic(topic("widow", 12), new PolarityResult(of(Polarity.NEUTRAL, 0),of(Polarity.POSITIVE, .92),of(Polarity.POSITIVE, .95)),
            of(OfferingGuidance.TO_SOME_EXTENT, 2),of(RequestingGuidance.NOT_AT_ALL, 1)),

        topTopic(topic("Judge Thatcher", 12), of(Polarity.NEUTRAL, 0),
            of(OfferingGuidance.TO_SOME_EXTENT, 2),of(RequestingGuidance.NOT_AT_ALL, 1), ner("Person", "female")),

        topTopic(topic("Tom Sawyer", 9), of(Polarity.NEUTRAL, 0),
            of(OfferingGuidance.NOT_AT_ALL, 1),of(RequestingGuidance.NOT_AT_ALL, 1), ner("Person", "male")),

        topTopic(topic("Tom", 7), of(Polarity.NEUTRAL, 0),
            of(OfferingGuidance.NOT_AT_ALL, 1),of(RequestingGuidance.NOT_AT_ALL, 1), ner("Person", "male")),

        topTopic(topic("money", 6),new PolarityResult(of(Polarity.NEGATIVE, -.89),of(Polarity.NEGATIVE, -.89),of(Polarity.NEUTRAL, 0)),
            of(OfferingGuidance.NOT_AT_ALL, 1),of(RequestingGuidance.NOT_AT_ALL, 1)));//@formatter:on

    assertThat(topTopicsIn(textA), are(as(expected)));
  }

  @Before
  public void setUpEveryTime() throws Exception
  {
    httpService = mock(HTTPService.class);
    mockResponseFor(textA, "OAResponseToTestText_A.xml");
    service = new DefaultAnalysisService(key, httpService);
  }

  @BeforeClass
  public static void setUpOnce() throws Exception
  {
    textA = loadFrom("TestText_A.txt");
  }
}
TOP

Related Classes of com.linguamathematica.oa4j.AnalysisServiceTestGivenTextA

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.