tefil 0.1.3 → 0.1.4
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.
- checksums.yaml +4 -4
- data/CHANGES +18 -1
- data/VERSION +1 -1
- data/bin/calc +1 -2
- data/bin/columnanalyze +28 -0
- data/bin/columnform +6 -3
- data/bin/linesub +5 -0
- data/bin/statistics +24 -0
- data/example/calc/run.zsh +7 -0
- data/example/columnanalyze/ps.out +250 -0
- data/example/columnanalyze/qstat.out +79 -0
- data/example/columnanalyze/run.zsh +13 -0
- data/example/columnformer/indent.txt +2 -0
- data/lib/tefil.rb +2 -0
- data/lib/tefil/columnanalyzer.rb +166 -0
- data/lib/tefil/columnformer.rb +21 -7
- data/lib/tefil/fswikitomd.rb +13 -13
- data/lib/tefil/mdtofswiki.rb +4 -4
- data/lib/tefil/statistics.rb +38 -0
- data/lib/tefil/textfilterbase.rb +1 -1
- data/tefil.gemspec +16 -4
- data/test/qstat.out +18 -0
- data/test/test_columnanalyzer.rb +65 -0
- data/test/test_columnformer.rb +17 -6
- data/test/test_fswikitomd.rb +7 -7
- data/test/test_statistics.rb +38 -0
- metadata +16 -2
@@ -0,0 +1,65 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# coding: utf-8
|
3
|
+
|
4
|
+
require "helper"
|
5
|
+
#require "test/unit"
|
6
|
+
#require "pkg/klass.rb"
|
7
|
+
require "stringio"
|
8
|
+
|
9
|
+
class Tefil::ColumnAnalyzer
|
10
|
+
public :process_stream, :projection_ary, :get_ranges
|
11
|
+
end
|
12
|
+
|
13
|
+
class TC_ColumnAnalyzer < Test::Unit::TestCase
|
14
|
+
|
15
|
+
TEXT = [
|
16
|
+
'0123 45 6789',
|
17
|
+
'abcd ef ghij',
|
18
|
+
'a e g ',
|
19
|
+
'a cd f gh j',
|
20
|
+
'abcd ',
|
21
|
+
' hij',
|
22
|
+
]
|
23
|
+
|
24
|
+
def setup
|
25
|
+
@c00 = Tefil::ColumnAnalyzer.new
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_projection_ary
|
29
|
+
results = @c00.projection_ary(TEXT)
|
30
|
+
corrects = [true, true, true, true, false,
|
31
|
+
true, true, false,
|
32
|
+
true, true, true, true]
|
33
|
+
assert_equal(corrects, results)
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_get_ranges
|
37
|
+
results = @c00.get_ranges([true, true, true, true, false,
|
38
|
+
true, true, false,
|
39
|
+
true, true, true, true]
|
40
|
+
)
|
41
|
+
corrects = [ 0..3, 5..6, 8..11 ]
|
42
|
+
assert_equal(corrects, results)
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
|
47
|
+
def test_process_stream
|
48
|
+
|
49
|
+
c01 = Tefil::ColumnAnalyzer.new(['0=abcd'])
|
50
|
+
in_io = StringIO.new
|
51
|
+
in_io.puts '0123 45 6789'
|
52
|
+
in_io.puts 'abcd ef ghij'
|
53
|
+
in_io.puts 'a e g '
|
54
|
+
in_io.puts 'a cd f gh j'
|
55
|
+
in_io.puts 'abcd '
|
56
|
+
in_io.puts ' hij'
|
57
|
+
in_io.rewind
|
58
|
+
out_io = StringIO.new
|
59
|
+
c01.process_stream(in_io, out_io)
|
60
|
+
out_io.rewind
|
61
|
+
#pp out_io.readlines
|
62
|
+
#assert_equal
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
data/test/test_columnformer.rb
CHANGED
@@ -13,6 +13,8 @@ end
|
|
13
13
|
class TC_ColumnFormer < Test::Unit::TestCase
|
14
14
|
def setup
|
15
15
|
@cf00 = Tefil::ColumnFormer.new
|
16
|
+
@cf01 = Tefil::ColumnFormer.new({:just => :right})
|
17
|
+
@cf02 = Tefil::ColumnFormer.new({:separator => ','})
|
16
18
|
end
|
17
19
|
|
18
20
|
def test_print_size
|
@@ -29,19 +31,25 @@ class TC_ColumnFormer < Test::Unit::TestCase
|
|
29
31
|
]
|
30
32
|
@cf00.form(matrix, io)
|
31
33
|
io.rewind
|
32
|
-
assert_equal("
|
34
|
+
assert_equal("a ab\nabc a\n", io.read)
|
33
35
|
|
34
36
|
io = StringIO.new
|
35
|
-
@cf00.form(matrix, io,
|
37
|
+
@cf00.form(matrix, io, 2)
|
36
38
|
io.rewind
|
37
|
-
assert_equal(" a
|
39
|
+
assert_equal(" a ab\n abc a\n", io.read)
|
40
|
+
|
38
41
|
|
39
42
|
io = StringIO.new
|
40
|
-
@
|
43
|
+
@cf01.form(matrix, io)
|
41
44
|
io.rewind
|
42
|
-
assert_equal("a
|
45
|
+
assert_equal(" a ab\nabc a\n", io.read)
|
43
46
|
io.rewind
|
44
47
|
|
48
|
+
io = StringIO.new
|
49
|
+
@cf02.form(matrix, io)
|
50
|
+
io.rewind
|
51
|
+
assert_equal("a ,ab\nabc,a\n", io.read)
|
52
|
+
|
45
53
|
#####
|
46
54
|
io = StringIO.new
|
47
55
|
matrix = [
|
@@ -50,7 +58,10 @@ class TC_ColumnFormer < Test::Unit::TestCase
|
|
50
58
|
]
|
51
59
|
@cf00.form(matrix, io)
|
52
60
|
io.rewind
|
53
|
-
assert_equal("
|
61
|
+
assert_equal("abc def\nあいう えおか\n", io.read)
|
62
|
+
|
63
|
+
####
|
64
|
+
|
54
65
|
end
|
55
66
|
end
|
56
67
|
|
data/test/test_fswikitomd.rb
CHANGED
@@ -24,13 +24,13 @@ class TC_FswikiToMd < Test::Unit::TestCase
|
|
24
24
|
#["abc __underline__ def" , ],
|
25
25
|
#['"" quotation' , ],
|
26
26
|
["* item" , "* item" ],
|
27
|
-
["** item" , "
|
28
|
-
["*** item" , "
|
29
|
-
["**** item" , "
|
30
|
-
["+ enum" , "
|
31
|
-
["++ enum" , "
|
32
|
-
["+++ enum" , "
|
33
|
-
["++++ enum" , "
|
27
|
+
["** item" , " * item" ],
|
28
|
+
["*** item" , " * item" ],
|
29
|
+
["**** item" , " * item" ],
|
30
|
+
["+ enum" , "1. enum" ],
|
31
|
+
["++ enum" , " 1. enum" ],
|
32
|
+
["+++ enum" , " 1. enum" ],
|
33
|
+
["++++ enum" , " 1. enum" ],
|
34
34
|
#["*http://www.yahoo.co.jp/" , ],
|
35
35
|
["[Google|http://www.google.co.jp/]" , "[Google](http://www.google.co.jp/)" ],
|
36
36
|
[" formatted text" , " formatted text" ],
|
@@ -0,0 +1,38 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# coding: utf-8
|
3
|
+
|
4
|
+
require "helper"
|
5
|
+
require "stringio"
|
6
|
+
|
7
|
+
#class Tefil::IndentConverter
|
8
|
+
# public :process_stream
|
9
|
+
#end
|
10
|
+
|
11
|
+
class TC_Statistics < Test::Unit::TestCase
|
12
|
+
def setup
|
13
|
+
@s00 = Tefil::Statistics.new()
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_process_stream
|
17
|
+
# stdin -> stdout
|
18
|
+
$stdin = StringIO.new
|
19
|
+
$stdin.puts "1.0"
|
20
|
+
$stdin.puts "2.0"
|
21
|
+
$stdin.puts "3.0"
|
22
|
+
$stdin.rewind
|
23
|
+
#str = capture_stdout{}
|
24
|
+
result = capture_stdout{ @s00.filter([])}
|
25
|
+
correct =
|
26
|
+
"sample: 3\n" +
|
27
|
+
"highest: 3.0\n" +
|
28
|
+
"lowest: 1.0\n" +
|
29
|
+
"sum: 6.0\n" +
|
30
|
+
"average: 2.0\n" +
|
31
|
+
"variance: 0.6666666666666666\n" +
|
32
|
+
"standard_deviation: 0.816496580927726\n"
|
33
|
+
assert_equal(correct, result)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tefil
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ippei94da
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-05-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-unit
|
@@ -113,6 +113,7 @@ description: "This gem provides a framework of text filter.\n Tefil eneable t
|
|
113
113
|
email: ippei94da@gmail.com
|
114
114
|
executables:
|
115
115
|
- calc
|
116
|
+
- columnanalyze
|
116
117
|
- columnform
|
117
118
|
- eachsentence
|
118
119
|
- fswiki2md
|
@@ -121,6 +122,7 @@ executables:
|
|
121
122
|
- linesub
|
122
123
|
- md2fswiki
|
123
124
|
- percentpack
|
125
|
+
- statistics
|
124
126
|
- zshescape
|
125
127
|
extensions: []
|
126
128
|
extra_rdoc_files:
|
@@ -135,6 +137,7 @@ files:
|
|
135
137
|
- Rakefile
|
136
138
|
- VERSION
|
137
139
|
- bin/calc
|
140
|
+
- bin/columnanalyze
|
138
141
|
- bin/columnform
|
139
142
|
- bin/eachsentence
|
140
143
|
- bin/fswiki2md
|
@@ -143,8 +146,14 @@ files:
|
|
143
146
|
- bin/linesub
|
144
147
|
- bin/md2fswiki
|
145
148
|
- bin/percentpack
|
149
|
+
- bin/statistics
|
146
150
|
- bin/zshescape
|
147
151
|
- doc/memo.txt
|
152
|
+
- example/calc/run.zsh
|
153
|
+
- example/columnanalyze/ps.out
|
154
|
+
- example/columnanalyze/qstat.out
|
155
|
+
- example/columnanalyze/run.zsh
|
156
|
+
- example/columnformer/indent.txt
|
148
157
|
- example/columnformer/sample.txt
|
149
158
|
- example/eachsentence/sample.txt
|
150
159
|
- example/indentconv/sample0.txt
|
@@ -156,6 +165,7 @@ files:
|
|
156
165
|
- example/zshescape/sample.txt
|
157
166
|
- lib/tefil.rb
|
158
167
|
- lib/tefil/calculator.rb
|
168
|
+
- lib/tefil/columnanalyzer.rb
|
159
169
|
- lib/tefil/columnformer.rb
|
160
170
|
- lib/tefil/eachsentence.rb
|
161
171
|
- lib/tefil/fswikitomd.rb
|
@@ -164,13 +174,16 @@ files:
|
|
164
174
|
- lib/tefil/linesubstituter.rb
|
165
175
|
- lib/tefil/mdtofswiki.rb
|
166
176
|
- lib/tefil/percentpacker.rb
|
177
|
+
- lib/tefil/statistics.rb
|
167
178
|
- lib/tefil/textfilterbase.rb
|
168
179
|
- lib/tefil/zshescaper.rb
|
169
180
|
- tefil.gemspec
|
170
181
|
- test/calc/sample.dat
|
171
182
|
- test/formcolumn_space
|
172
183
|
- test/helper.rb
|
184
|
+
- test/qstat.out
|
173
185
|
- test/test_calculator.rb
|
186
|
+
- test/test_columnanalyzer.rb
|
174
187
|
- test/test_columnformer.rb
|
175
188
|
- test/test_eachsentence.rb
|
176
189
|
- test/test_fswikitomd.rb
|
@@ -179,6 +192,7 @@ files:
|
|
179
192
|
- test/test_linesubstituter.rb
|
180
193
|
- test/test_mdtofswiki.rb
|
181
194
|
- test/test_percentpacker.rb
|
195
|
+
- test/test_statistics.rb
|
182
196
|
- test/test_textfilterbase.rb
|
183
197
|
- test/test_zshescaper.rb
|
184
198
|
homepage: http://github.com/ippei94da/tefil
|