Skip to content

Commit

Permalink
Converts the sentence beginnings assessment to use the HTML parser
Browse files Browse the repository at this point in the history
  • Loading branch information
mhkuu committed Jan 17, 2025
1 parent f7f95dc commit 79e772f
Show file tree
Hide file tree
Showing 12 changed files with 290 additions and 195 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -136,9 +136,8 @@ const expectedResults = {
},
sentenceBeginnings: {
isApplicable: true,
score: 3,
resultText: "<a href='https://yoa.st/35f' target='_blank'>Consecutive sentences</a>: The text contains 3 consecutive sentences " +
"starting with the same word. <a href='https://yoa.st/35g' target='_blank'>Try to mix things up</a>!",
score: 9,
resultText: "<a href='https://yoa.st/35f' target='_blank'>Consecutive sentences</a>: There is enough variety in your sentences. That's great!",
},
imageKeyphrase: {
isApplicable: true,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import { cloneDeep } from "lodash";
import Paper from "../../../../src/values/Paper";
import getSentencesFromTree from "../../../../src/languageProcessing/helpers/sentence/getSentencesFromTree";
import buildTree from "../../../specHelpers/parse/buildTree";
import EnglishResearcher from "../../../../src/languageProcessing/languages/en/Researcher";
import filterTree from "../../../../src/parse/build/private/filterTree";

describe( "test to get sentences from the tree", () => {
let researcher;
Expand All @@ -14,7 +16,7 @@ describe( "test to get sentences from the tree", () => {
"</h3><h4>A subheading 4</h4></div>" );
researcher.setPaper( paper );
buildTree( paper, researcher );
expect( getSentencesFromTree( paper ) ).toEqual( [
expect( getSentencesFromTree( paper.getTree() ) ).toEqual( [
{
sourceCodeRange: { startOffset: 8, endOffset: 49 },
parentStartOffset: 8,
Expand Down Expand Up @@ -98,7 +100,7 @@ describe( "test to get sentences from the tree", () => {
" width=\"200\" height=\"300\" /> elephant[/caption]", { shortcodes: [ "caption" ] } );
researcher.setPaper( paper );
buildTree( paper, researcher );
expect( getSentencesFromTree( paper ) ).toEqual( [
expect( getSentencesFromTree( paper.getTree() ) ).toEqual( [
{
isParentFirstSectionOfBlock: false,
parentAttributeId: "",
Expand Down Expand Up @@ -154,7 +156,7 @@ describe( "test to get sentences from the tree", () => {
" is a small mammal native to the eastern Himalayas and southwestern China</blockquote>" );
researcher.setPaper( paper );
buildTree( paper, researcher );
expect( getSentencesFromTree( paper ) ).toEqual( [
expect( getSentencesFromTree( paper.getTree() ) ).toEqual( [
{ sourceCodeRange: { startOffset: 3, endOffset: 19 },
text: "A cute red panda",
tokens: [
Expand Down Expand Up @@ -183,7 +185,7 @@ describe( "test to get sentences from the tree", () => {
"is this giant panda</p> </div> </div>" );
researcher.setPaper( paper );
buildTree( paper, researcher );
expect( getSentencesFromTree( paper ) ).toEqual(
expect( getSentencesFromTree( paper.getTree() ) ).toEqual(
[
{
text: "What is giant panda",
Expand Down Expand Up @@ -285,6 +287,17 @@ describe( "test to get sentences from the tree", () => {
" is a small mammal native to the eastern Himalayas and southwestern China</blockquote>" );
researcher.setPaper( paper );
buildTree( paper, researcher );
expect( getSentencesFromTree( paper ) ).toEqual( [] );
expect( getSentencesFromTree( paper.getTree() ) ).toEqual( [] );
} );
it( "should return empty array if all sentences appear in filtered nodes", () => {
const paper = new Paper( "<ol><li>This is a test.</li><li>This is another test.</li></ol>" );
researcher.setPaper( paper );
buildTree( paper, researcher );
expect( getSentencesFromTree( paper.getTree() ).length ).toEqual( 2 );

let clonedTree = cloneDeep( paper.getTree() );
const additionalFilters = [ ( node ) => node.name === "ol" ];
clonedTree = filterTree( clonedTree, additionalFilters );
expect( getSentencesFromTree( clonedTree ).length ).toEqual( 0 );
} );
} );
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ describe( "A test to count sentence lengths.", function() {
const mockResearcher = new EnglishResearcher( mockPaper );
buildTree( mockPaper, mockResearcher );

const sentenceLengths = sentencesLength( getSentencesFromTree( mockPaper ), mockResearcher );
const sentenceLengths = sentencesLength( getSentencesFromTree( mockPaper.getTree() ), mockResearcher );

expect( sentenceLengths.length ).toEqual( 1 );
expect( sentenceLengths[ 0 ].sentenceLength ).toEqual( 2 );
Expand All @@ -24,7 +24,7 @@ describe( "A test to count sentence lengths.", function() {
const mockResearcher = new EnglishResearcher( mockPaper );
buildTree( mockPaper, mockResearcher );

const sentenceLengths = sentencesLength( getSentencesFromTree( mockPaper ), mockResearcher );
const sentenceLengths = sentencesLength( getSentencesFromTree( mockPaper.getTree() ), mockResearcher );

expect( sentenceLengths.length ).toEqual( 2 );
expect( sentenceLengths[ 0 ].sentenceLength ).toEqual( 3 );
Expand All @@ -40,7 +40,7 @@ describe( "A test to count sentence lengths.", function() {
const mockResearcher = new EnglishResearcher( mockPaper );
buildTree( mockPaper, mockResearcher );

const sentenceLengths = sentencesLength( getSentencesFromTree( mockPaper ), mockResearcher );
const sentenceLengths = sentencesLength( getSentencesFromTree( mockPaper.getTree() ), mockResearcher );

expect( sentenceLengths.length ).toEqual( 2 );
expect( sentenceLengths[ 0 ].sentenceLength ).toEqual( 7 );
Expand All @@ -53,7 +53,7 @@ describe( "A test to count sentence lengths.", function() {
const mockResearcher = new EnglishResearcher( mockPaper );
buildTree( mockPaper, mockResearcher );

const sentenceLengths = sentencesLength( getSentencesFromTree( mockPaper ), mockResearcher );
const sentenceLengths = sentencesLength( getSentencesFromTree( mockPaper.getTree() ), mockResearcher );

expect( sentenceLengths.length ).toEqual( 2 );
expect( sentenceLengths[ 0 ].sentenceLength ).toEqual( 3 );
Expand All @@ -70,7 +70,7 @@ describe( "A test to count sentence lengths.", function() {
const mockJapaneseResearcher = new JapaneseResearcher( mockPaper );
buildTree( mockPaper, mockJapaneseResearcher );

const sentenceLengths = sentencesLength( getSentencesFromTree( mockPaper ), mockJapaneseResearcher );
const sentenceLengths = sentencesLength( getSentencesFromTree( mockPaper.getTree() ), mockJapaneseResearcher );

expect( sentenceLengths.length ).toEqual( 2 );
expect( sentenceLengths[ 0 ].sentenceLength ).toEqual( 15 );
Expand Down
Loading

0 comments on commit 79e772f

Please sign in to comment.