File: readability_test.go

package info (click to toggle)
golang-github-jdkato-prose 1.1.0%2Bgit20171031.e27abfd-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 12,848 kB
  • sloc: python: 115; makefile: 55; sh: 21
file content (40 lines) | stat: -rw-r--r-- 1,134 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package summarize

import (
	"encoding/json"
	"path/filepath"
	"testing"

	"github.com/jdkato/prose/internal/util"
	"github.com/stretchr/testify/assert"
)

func TestReadability(t *testing.T) {
	tests := make([]testCase, 0)
	cases := util.ReadDataFile(filepath.Join(testdata, "summarize.json"))

	util.CheckError(json.Unmarshal(cases, &tests))
	for _, test := range tests {
		d := NewDocument(test.Text)
		a := d.Assess()

		assert.True(t, check(test.AutomatedReadability, a.AutomatedReadability))
		assert.True(t, check(test.ColemanLiau, a.ColemanLiau))
		assert.True(t, check(test.FleschKincaid, a.FleschKincaid))
		assert.True(t, check(test.GunningFog, a.GunningFog))
		assert.True(t, check(test.SMOG, a.SMOG))
		assert.True(t, check(test.MeanGrade, a.MeanGradeLevel))
		assert.True(t, check(test.StdDevGrade, a.StdDevGradeLevel))
		assert.True(t, check(test.DaleChall, a.DaleChall))
		assert.True(t, check(test.ReadingEase, a.ReadingEase))
	}
}

func BenchmarkReadability(b *testing.B) {
	in := util.ReadDataFile(filepath.Join(testdata, "sherlock.txt"))

	d := NewDocument(string(in))
	for n := 0; n < b.N; n++ {
		d.Assess()
	}
}