simplificator-babel 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,20 +9,15 @@ def show_languages(s)
9
9
  puts "Possible Languages for '#{s}': \n#{s.languages[0..2].join(', ')}"
10
10
  end
11
11
 
12
- en = "Rainy sunday"
12
+ en = 'Rainy sunday'
13
13
  de = 'Regnerischer Sonntag'
14
14
  fr = 'Je ne regrette rien'
15
15
  sp = 'yo no soy un marinero'
16
16
 
17
- texts = [en, de, fr, sp]
17
+ texts = [en, de, fr, sp, 'lago di como']
18
18
  Babel.load_profiles
19
19
 
20
20
  texts.each do |text|
21
21
  guess_language text
22
22
  show_languages text
23
- end
24
-
25
-
26
-
27
-
28
-
23
+ end
@@ -1,13 +1,33 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class BabelTest < Test::Unit::TestCase
4
-
4
+ should 'identify the language' do
5
+ Babel.load_profiles
6
+ assert_equal 'deu', 'ich gehe essen'.language
7
+ assert_equal 'deu', 'guten morgen'.language
8
+ assert_equal 'deu', 'öäü'.language # :-)
9
+ assert_equal 'deu', 'du bist der jackpot meines lebens'.language
10
+
11
+ assert_equal 'eng', 'imagine there\'s no heaven'.language
12
+ assert_equal 'eng', 'then there was you'.language
13
+ assert_equal 'eng', 'small step for me'.language
14
+ assert_equal 'eng', 'let there'.language
15
+
16
+ assert_equal 'fra', 'le coq est mort'.language
17
+ assert_equal 'fra', 'garçon'.language
18
+ assert_equal 'fra', 'je ne sais pas'.language
19
+
20
+ assert_equal 'spa', 'yo no soy un marinero'.language
21
+ assert_equal 'spa', 'mucho gusto'.language
22
+ assert_equal 'ita', 'lago di como'.language
23
+ end
5
24
 
6
25
  should 'have a test' do
7
- fail
26
+ #fail
8
27
  end
9
28
 
10
29
  should 'not choke when registering the first' do
30
+ #puts "abc".n_grams(:pad => true)
11
31
  end
12
32
 
13
33
  end
@@ -30,13 +30,13 @@ class ProfileTest < Test::Unit::TestCase
30
30
  profile.occured('c', 5)
31
31
  profile.occured('d', 3)
32
32
 
33
- profile.rank
33
+ profile.weigh_and_rank
34
34
 
35
- assert_equal 1, profile.ranking('a')
36
- assert_equal 2, profile.ranking('b')
37
- assert_equal 3, profile.ranking('c')
38
- assert_equal 4, profile.ranking('d')
39
- assert_equal 5, profile.ranking('e')
35
+ assert_equal 1, profile.rank('a')
36
+ assert_equal 2, profile.rank('b')
37
+ assert_equal 3, profile.rank('c')
38
+ assert_equal 4, profile.rank('d')
39
+ assert_equal 5, profile.rank('e')
40
40
  end
41
41
 
42
42
  should 'limit' do
@@ -47,7 +47,7 @@ class ProfileTest < Test::Unit::TestCase
47
47
  profile.occured('d', 3)
48
48
  profile.occured('e', 1)
49
49
 
50
- profile.rank
50
+ profile.weigh_and_rank
51
51
  profile.limit(3)
52
52
 
53
53
  assert_equal 10, profile.occurence('a')
@@ -58,11 +58,13 @@ class ProfileTest < Test::Unit::TestCase
58
58
  end
59
59
 
60
60
  should 'find the distance to another profile' do
61
+ # distance is based on weigh_and_rank which is a floating point number
62
+ # hard to test. just make some comparisons with <>
61
63
  a = Profile.new
62
64
  b = Profile.new
63
65
 
64
66
  a.occured('a')
65
- a.rank # always rank when finished with occured(). distance is baed on rank
67
+ a.weigh_and_rank # always rank when finished with occured(). distance is baed on rank
66
68
 
67
69
  assert_equal 0, a.distance(a), 'distance to self is 0'
68
70
  assert_equal 1, a.distance(b)
@@ -70,7 +72,7 @@ class ProfileTest < Test::Unit::TestCase
70
72
  assert_equal 0, b.distance(b)
71
73
 
72
74
  b.occured('a')
73
- b.rank
75
+ b.weigh_and_rank
74
76
 
75
77
  assert_equal 0, a.distance(a)
76
78
  assert_equal 0, a.distance(b)
@@ -79,15 +81,14 @@ class ProfileTest < Test::Unit::TestCase
79
81
 
80
82
  a.occured('b')
81
83
  a.occured('c')
82
- a.rank
84
+ a.weigh_and_rank
83
85
 
84
- assert_equal 5, a.distance(b)
86
+ assert 2 < a.distance(b)
85
87
 
86
88
  a.occured('d')
87
- a.rank
88
-
89
- # rank 4 is limited to 3 -> 8 = 2 + 3 + [4, 3].min
90
- assert_equal 8, a.distance(b)
89
+ a.weigh_and_rank
90
+
91
+ assert 3 < a.distance(b)
91
92
  end
92
93
 
93
94
  should 'learn a text' do
@@ -102,4 +103,14 @@ class ProfileTest < Test::Unit::TestCase
102
103
  assert_equal 1, profile.occurence('meme')
103
104
  end
104
105
 
106
+ should 'clean a text' do
107
+ profile = Profile.new
108
+ assert_equal '', profile.clean_text('')
109
+ assert_equal ' ', profile.clean_text(' ')
110
+ assert_equal ' ', profile.clean_text(' ')
111
+ assert_equal 'hallo', profile.clean_text('1h2a3l4l5o')
112
+ assert_equal 'no braces and brackets and curly braces', profile.clean_text('(no ({braces) [] and brackets} and curly braces[]')
113
+
114
+ end
115
+
105
116
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simplificator-babel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - simplificator
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-07-13 00:00:00 -07:00
12
+ date: 2009-07-14 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency