textstat 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,192 +1,192 @@
1
- require 'rspec'
2
- require_relative '../lib/textstat.rb'
3
-
4
- describe TextStat do
5
- before do
6
- @long_test = 'Playing ... games has always been thought to be ' \
7
- 'important to the development of well-balanced and ' \
8
- 'creative children; however, what part, if any, ' \
9
- 'they should play in the lives of adults has never ' \
10
- 'been researched that deeply. I believe that ' \
11
- 'playing games is every bit as important for adults ' \
12
- 'as for children. Not only is taking time out to ' \
13
- 'play games with our children and other adults ' \
14
- 'valuable to building interpersonal relationships ' \
15
- 'but is also a wonderful way to release built up ' \
16
- "tension.\n" \
17
- "There's nothing my husband enjoys more after a " \
18
- 'hard day of work than to come home and play a game ' \
19
- 'of Chess with someone. This enables him to unwind ' \
20
- "from the day's activities and to discuss the highs " \
21
- 'and lows of the day in a non-threatening, kick back ' \
22
- 'environment. One of my most memorable wedding ' \
23
- 'gifts, a Backgammon set, was received by a close ' \
24
- 'friend. I asked him why in the world he had given ' \
25
- 'us such a gift. He replied that he felt that an ' \
26
- 'important aspect of marriage was for a couple to ' \
27
- 'never quit playing games together. Over the years, ' \
28
- 'as I have come to purchase and play, with other ' \
29
- 'couples & coworkers, many games like: Monopoly, ' \
30
- 'Chutes & Ladders, Mastermind, Dweebs, Geeks, & ' \
31
- 'Weirdos, etc. I can reflect on the integral part ' \
32
- 'they have played in our weekends and our ' \
33
- '"shut-off the T.V. and do something more ' \
34
- 'stimulating" weeks. They have enriched my life and ' \
35
- 'made it more interesting. Sadly, many adults ' \
36
- 'forget that games even exist and have put them ' \
37
- 'away in the cupboards, forgotten until the ' \
38
- "grandchildren come over.\n" \
39
- 'All too often, adults get so caught up in working ' \
40
- 'to pay the bills and keeping up with the ' \
41
- "\"Joneses'\" that they neglect to harness the fun " \
42
- 'in life; the fun that can be the reward of ' \
43
- 'enjoying a relaxing game with another person. It ' \
44
- 'has been said that "man is that he might have ' \
45
- 'joy" but all too often we skate through life ' \
46
- 'without much of it. Playing games allows us to: ' \
47
- 'relax, learn something new and stimulating, ' \
48
- 'interact with people on a different more ' \
49
- 'comfortable level, and to enjoy non-threatening ' \
50
- 'competition. For these reasons, adults should ' \
51
- 'place a higher priority on playing games in their ' \
52
- 'lives'
53
- end
54
-
55
- context 'When testing the TextStat class' do
56
- it 'should return the correct number of chars' do
57
- count = TextStat.char_count(@long_test)
58
- count_spaces = TextStat.char_count(@long_test, false)
59
-
60
- expect(count).to eql 1750
61
- expect(count_spaces).to eql 2123
62
- end
63
-
64
- it 'should return the correct number of lexicons' do
65
- count = TextStat.lexicon_count(@long_test)
66
- count_punctuation = TextStat.lexicon_count(@long_test, false)
67
-
68
- expect(count).to eql 372
69
- expect(count_punctuation).to eql 376
70
- end
71
-
72
- it 'should return the correct number of syllables' do
73
- count = TextStat.syllable_count(@long_test)
74
- expect(count).to eql 559
75
- end
76
-
77
- it 'should return the correct number of sentences' do
78
- count = TextStat.sentence_count(@long_test)
79
- expect(count).to eql 16
80
- end
81
-
82
- it 'should return the correct average sentence length' do
83
- avg = TextStat.avg_sentence_length(@long_test)
84
- expect(avg).to eql 23.3
85
- end
86
-
87
- it 'should return the correct average syllables per word' do
88
- avg = TextStat.avg_syllables_per_word(@long_test)
89
- expect(avg).to eql 1.5
90
- end
91
-
92
- it 'should return the correct average letters per word' do
93
- avg = TextStat.avg_letter_per_word(@long_test)
94
- expect(avg).to eql 4.7
95
- end
96
-
97
- it 'should return the correct average sentence per word' do
98
- avg = TextStat.avg_sentence_per_word(@long_test)
99
- expect(avg).to eql 0.04
100
- end
101
-
102
- it 'should return the correct Flesch reading-ease test score' do
103
- score = TextStat.flesch_reading_ease(@long_test)
104
- expect(score).to eql 56.29
105
- end
106
-
107
- it 'should return the correct Flesch–Kincaid grade' do
108
- score = TextStat.flesch_kincaid_grade(@long_test)
109
- expect(score).to eql 11.2
110
- end
111
-
112
- it 'should return the correct number of polysyllab' do
113
- count = TextStat.polysyllab_count(@long_test)
114
- expect(count).to eql 43
115
- end
116
-
117
- it 'should return the correct smog index' do
118
- index = TextStat.smog_index(@long_test)
119
- expect(index).to eql 12.5
120
- end
121
-
122
- it 'should return the correct Coleman–Liau index' do
123
- index = TextStat.coleman_liau_index(@long_test)
124
- expect(index).to eql 10.65
125
- end
126
-
127
- it 'should return the correct automated readability index' do
128
- index = TextStat.automated_readability_index(@long_test)
129
- expect(index).to eql 12.4
130
- end
131
-
132
- it 'should return the correct linsear write formula result' do
133
- result = TextStat.linsear_write_formula(@long_test)
134
- expect(result).to eql 14.875
135
- end
136
-
137
- it 'should return the correct difficult words result' do
138
- result = TextStat.difficult_words(@long_test)
139
- expect(result).to eql 58
140
- end
141
-
142
- it 'should return the correct Dale–Chall readability score' do
143
- score = TextStat.dale_chall_readability_score(@long_test)
144
- expect(score).to eql 7.25
145
- end
146
-
147
- it 'should return the correct Gunning fog score' do
148
- score = TextStat.gunning_fog(@long_test)
149
- expect(score).to eql 17.56
150
- end
151
-
152
- it 'should return the correct Lix readability test score' do
153
- score = TextStat.lix(@long_test)
154
- expect(score).to eql 45.11
155
- end
156
-
157
- it 'should return the correct FORCAST readability test score' do
158
- score = TextStat.forcast(@long_test)
159
- expect(score).to eql 10
160
- end
161
-
162
- it 'should return the correct Powers Sumner Kearl readability test score' do
163
- score = TextStat.powers_sumner_kearl(@long_test)
164
- expect(score).to eql 25.04
165
- end
166
-
167
- it 'should return the correct SPACHE readability test score' do
168
- score = TextStat.spache(@long_test)
169
- expect(score).to eql 4.12
170
- end
171
-
172
- it 'should return the readability consensus score' do
173
- standard = TextStat.text_standard(@long_test)
174
- expect(standard).to eql '10th and 11th grade'
175
- end
176
-
177
- describe '.dictionary_path' do
178
- subject(:dictionary_path) { described_class.dictionary_path }
179
-
180
- it 'returns the Gem dictionary path by default' do
181
- gem_root = File.dirname(File.dirname(__FILE__))
182
- default_path = File.join(gem_root, 'lib', 'dictionaries')
183
- expect(dictionary_path).to eq default_path
184
- end
185
-
186
- it 'allows dictionary path to be overridden' do
187
- described_class.dictionary_path = '/some/other/path'
188
- expect(dictionary_path).to eq '/some/other/path'
189
- end
190
- end
191
- end
1
+ require 'rspec'
2
+ require_relative '../lib/textstat.rb'
3
+
4
+ describe TextStat do
5
+ before do
6
+ @long_test = 'Playing ... games has always been thought to be ' \
7
+ 'important to the development of well-balanced and ' \
8
+ 'creative children; however, what part, if any, ' \
9
+ 'they should play in the lives of adults has never ' \
10
+ 'been researched that deeply. I believe that ' \
11
+ 'playing games is every bit as important for adults ' \
12
+ 'as for children. Not only is taking time out to ' \
13
+ 'play games with our children and other adults ' \
14
+ 'valuable to building interpersonal relationships ' \
15
+ 'but is also a wonderful way to release built up ' \
16
+ "tension.\n" \
17
+ "There's nothing my husband enjoys more after a " \
18
+ 'hard day of work than to come home and play a game ' \
19
+ 'of Chess with someone. This enables him to unwind ' \
20
+ "from the day's activities and to discuss the highs " \
21
+ 'and lows of the day in a non-threatening, kick back ' \
22
+ 'environment. One of my most memorable wedding ' \
23
+ 'gifts, a Backgammon set, was received by a close ' \
24
+ 'friend. I asked him why in the world he had given ' \
25
+ 'us such a gift. He replied that he felt that an ' \
26
+ 'important aspect of marriage was for a couple to ' \
27
+ 'never quit playing games together. Over the years, ' \
28
+ 'as I have come to purchase and play, with other ' \
29
+ 'couples & coworkers, many games like: Monopoly, ' \
30
+ 'Chutes & Ladders, Mastermind, Dweebs, Geeks, & ' \
31
+ 'Weirdos, etc. I can reflect on the integral part ' \
32
+ 'they have played in our weekends and our ' \
33
+ '"shut-off the T.V. and do something more ' \
34
+ 'stimulating" weeks. They have enriched my life and ' \
35
+ 'made it more interesting. Sadly, many adults ' \
36
+ 'forget that games even exist and have put them ' \
37
+ 'away in the cupboards, forgotten until the ' \
38
+ "grandchildren come over.\n" \
39
+ 'All too often, adults get so caught up in working ' \
40
+ 'to pay the bills and keeping up with the ' \
41
+ "\"Joneses'\" that they neglect to harness the fun " \
42
+ 'in life; the fun that can be the reward of ' \
43
+ 'enjoying a relaxing game with another person. It ' \
44
+ 'has been said that "man is that he might have ' \
45
+ 'joy" but all too often we skate through life ' \
46
+ 'without much of it. Playing games allows us to: ' \
47
+ 'relax, learn something new and stimulating, ' \
48
+ 'interact with people on a different more ' \
49
+ 'comfortable level, and to enjoy non-threatening ' \
50
+ 'competition. For these reasons, adults should ' \
51
+ 'place a higher priority on playing games in their ' \
52
+ 'lives'
53
+ end
54
+
55
+ context 'When testing the TextStat class' do
56
+ it 'should return the correct number of chars' do
57
+ count = TextStat.char_count(@long_test)
58
+ count_spaces = TextStat.char_count(@long_test, false)
59
+
60
+ expect(count).to eql 1750
61
+ expect(count_spaces).to eql 2123
62
+ end
63
+
64
+ it 'should return the correct number of lexicons' do
65
+ count = TextStat.lexicon_count(@long_test)
66
+ count_punctuation = TextStat.lexicon_count(@long_test, false)
67
+
68
+ expect(count).to eql 372
69
+ expect(count_punctuation).to eql 376
70
+ end
71
+
72
+ it 'should return the correct number of syllables' do
73
+ count = TextStat.syllable_count(@long_test)
74
+ expect(count).to eql 559
75
+ end
76
+
77
+ it 'should return the correct number of sentences' do
78
+ count = TextStat.sentence_count(@long_test)
79
+ expect(count).to eql 16
80
+ end
81
+
82
+ it 'should return the correct average sentence length' do
83
+ avg = TextStat.avg_sentence_length(@long_test)
84
+ expect(avg).to eql 23.3
85
+ end
86
+
87
+ it 'should return the correct average syllables per word' do
88
+ avg = TextStat.avg_syllables_per_word(@long_test)
89
+ expect(avg).to eql 1.5
90
+ end
91
+
92
+ it 'should return the correct average letters per word' do
93
+ avg = TextStat.avg_letter_per_word(@long_test)
94
+ expect(avg).to eql 4.7
95
+ end
96
+
97
+ it 'should return the correct average sentence per word' do
98
+ avg = TextStat.avg_sentence_per_word(@long_test)
99
+ expect(avg).to eql 0.04
100
+ end
101
+
102
+ it 'should return the correct Flesch reading-ease test score' do
103
+ score = TextStat.flesch_reading_ease(@long_test)
104
+ expect(score).to eql 56.29
105
+ end
106
+
107
+ it 'should return the correct Flesch–Kincaid grade' do
108
+ score = TextStat.flesch_kincaid_grade(@long_test)
109
+ expect(score).to eql 11.2
110
+ end
111
+
112
+ it 'should return the correct number of polysyllab' do
113
+ count = TextStat.polysyllab_count(@long_test)
114
+ expect(count).to eql 43
115
+ end
116
+
117
+ it 'should return the correct smog index' do
118
+ index = TextStat.smog_index(@long_test)
119
+ expect(index).to eql 12.5
120
+ end
121
+
122
+ it 'should return the correct Coleman–Liau index' do
123
+ index = TextStat.coleman_liau_index(@long_test)
124
+ expect(index).to eql 10.65
125
+ end
126
+
127
+ it 'should return the correct automated readability index' do
128
+ index = TextStat.automated_readability_index(@long_test)
129
+ expect(index).to eql 12.4
130
+ end
131
+
132
+ it 'should return the correct linsear write formula result' do
133
+ result = TextStat.linsear_write_formula(@long_test)
134
+ expect(result).to eql 14.875
135
+ end
136
+
137
+ it 'should return the correct difficult words result' do
138
+ result = TextStat.difficult_words(@long_test)
139
+ expect(result).to eql 58
140
+ end
141
+
142
+ it 'should return the correct Dale–Chall readability score' do
143
+ score = TextStat.dale_chall_readability_score(@long_test)
144
+ expect(score).to eql 7.25
145
+ end
146
+
147
+ it 'should return the correct Gunning fog score' do
148
+ score = TextStat.gunning_fog(@long_test)
149
+ expect(score).to eql 17.56
150
+ end
151
+
152
+ it 'should return the correct Lix readability test score' do
153
+ score = TextStat.lix(@long_test)
154
+ expect(score).to eql 45.11
155
+ end
156
+
157
+ it 'should return the correct FORCAST readability test score' do
158
+ score = TextStat.forcast(@long_test)
159
+ expect(score).to eql 10
160
+ end
161
+
162
+ it 'should return the correct Powers Sumner Kearl readability test score' do
163
+ score = TextStat.powers_sumner_kearl(@long_test)
164
+ expect(score).to eql 25.04
165
+ end
166
+
167
+ it 'should return the correct SPACHE readability test score' do
168
+ score = TextStat.spache(@long_test)
169
+ expect(score).to eql 4.12
170
+ end
171
+
172
+ it 'should return the readability consensus score' do
173
+ standard = TextStat.text_standard(@long_test)
174
+ expect(standard).to eql '10th and 11th grade'
175
+ end
176
+
177
+ describe '.dictionary_path' do
178
+ subject(:dictionary_path) { described_class.dictionary_path }
179
+
180
+ it 'returns the Gem dictionary path by default' do
181
+ gem_root = File.dirname(File.dirname(__FILE__))
182
+ default_path = File.join(gem_root, 'lib', 'dictionaries')
183
+ expect(dictionary_path).to eq default_path
184
+ end
185
+
186
+ it 'allows dictionary path to be overridden' do
187
+ described_class.dictionary_path = '/some/other/path'
188
+ expect(dictionary_path).to eq '/some/other/path'
189
+ end
190
+ end
191
+ end
192
192
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: textstat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jakub Polak
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-07-08 00:00:00.000000000 Z
11
+ date: 2022-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: text-hyphen