feedbackmine-language_detector 0.1.0 → 0.1.1

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,3 +1,4 @@
1
+ # -*- coding: utf-8 -*-
1
2
  require 'test/unit'
2
3
  require File.dirname(__FILE__) + '/../lib/language_detector'
3
4
 
@@ -9,55 +10,44 @@ class ProfileTest < Test::Unit::TestCase
9
10
  assert !p.is_puctuation?(?A)
10
11
  assert !p.is_puctuation?(?a)
11
12
  end
12
-
13
+
13
14
  def test_tokenize
14
15
  p = Profile.new("test")
15
16
  assert_equal ["this", "is", "A", "test"], p.tokenize("this is ,+_ A \t 123 test")
16
17
  end
17
-
18
+
18
19
  def test_count_ngram
19
20
  p = Profile.new("test")
20
21
  assert_equal({"w"=>1, "o"=>1, "r"=>1, "d"=>1, "s"=>1}, p.count_ngram('words', 1, {}))
21
- assert_equal({"wo"=>1, "or"=>1, "rd"=>1, "ds"=>1}, p.count_ngram('words', 2, {}))
22
- assert_equal({"wor"=>1, "ord"=>1, "rds"=>1}, p.count_ngram('words', 3, {}))
23
- assert_equal({"word"=>1, "ords"=>1}, p.count_ngram('words', 4, {}))
24
- assert_equal({"words"=>1}, p.count_ngram('words', 5, {}))
22
+ assert_equal({"wo"=>1, "or"=>1, "rd"=>1, "ds"=>1, "_w" => 1, "s_" => 1}, p.count_ngram('words', 2, {}))
23
+ assert_equal({"wor"=>1, "ord"=>1, "rds"=>1, "_wo" => 1, "ds_" => 1, "s__" => 1}, p.count_ngram('words', 3, {}))
24
+ assert_equal({"word"=>1, "ords"=>1, "_wor" => 1, "rds_" => 1, "ds__" => 1, "s___" => 1}, p.count_ngram('words', 4, {}))
25
+ assert_equal({"words"=>1, "_word" => 1, "ords_" => 1, "rds__" => 1, "ds___" => 1, "s____" => 1}, p.count_ngram('words', 5, {}))
25
26
  assert_equal({}, p.count_ngram('words', 6, {}))
26
27
  end
27
-
28
+
28
29
  def test_init_with_string
29
30
  p = Profile.new("test")
30
31
  p.init_with_string("this is ,+_ A \t 123 test")
31
- assert_equal({"st"=>12,
32
- "hi"=>7,
33
- "tes"=>3,
34
- "es"=>4,
35
- "te"=>6,
36
- "est"=>5,
37
- "his"=>8,
38
- "test"=>2,
39
- "this"=>9,
40
- "th"=>10,
41
- "thi"=>11,
42
- "is"=>1}, p.ngrams)
32
+ assert_equal([["t_", 30], ["st__", 29], ["st", 16], ["hi", 8], ["_tes", 7], ["is__", 6], ["s___", 5], ["s_", 3], ["his_", 11], ["tes", 10], ["t___", 9], ["es", 12], ["_te", 14], ["est_", 13], ["est", 15], ["te", 4], ["his", 17], ["_th", 20], ["s__", 19], ["st_", 18], ["th", 24], ["_thi", 23], ["t__", 22], ["test", 21], ["thi", 28], ["is_", 27], ["this", 26], ["_i", 25], ["is", 2], ["_t", 1]], p.ngrams.sort_by { |a,b| a[1] <=> b[1] })
43
33
  end
44
-
34
+
45
35
  def test_init_with_file
46
36
  p = Profile.new("test")
47
37
  p.init_with_file("bg-utf8.txt")
48
38
  assert !p.ngrams.empty?
49
39
  end
50
-
40
+
51
41
  def test_compute_distance
52
42
  p1 = Profile.new("test")
53
43
  p1.init_with_string("this is ,+_ A \t 123 test")
54
44
  p2 = Profile.new("test")
55
45
  p2.init_with_string("this is ,+_ A \t 123 test")
56
46
  assert_equal 0, p1.compute_distance(p2)
57
-
47
+
58
48
  p3 = Profile.new("test")
59
49
  p3.init_with_string("xxxx")
60
- assert_equal 6000, p1.compute_distance(p3)
50
+ assert_equal 24000, p1.compute_distance(p3)
61
51
  end
62
52
  end
63
53
 
@@ -65,21 +55,22 @@ class LanguageDetectorTest < Test::Unit::TestCase
65
55
  def test_detect
66
56
  d = LanguageDetector.new
67
57
 
68
- #assert_equal "es", d.detect("para poner este importante proyecto en práctica")
58
+ assert_equal "es", d.detect("para poner este importante proyecto en práctica")
69
59
  assert_equal "en", d.detect("this is a test of the Emergency text categorizing system.")
70
60
  assert_equal "fr", d.detect("serait désigné peu après PDG d'Antenne 2 et de FR 3. Pas même lui ! Le")
71
61
  assert_equal "it", d.detect("studio dell'uomo interiore? La scienza del cuore umano, che")
72
62
  assert_equal "ro", d.detect("taiate pe din doua, in care vezi stralucind brun sau violet cristalele interioare")
73
- assert_equal "pl", d.detect("na porozumieniu, na ³±czeniu si³ i ¶rodków. Dlatego szukam ludzi, którzy")
63
+ assert_equal "pl", d.detect("na porozumieniu, na ³±czeniu si³ i ¶rodków. Dlatego szukam ludzi, którzy")
74
64
  assert_equal "de", d.detect("sagt Hühsam das war bei Über eine Annonce in einem Frankfurter der Töpfer ein. Anhand von gefundenen gut kennt, hatte ihm die wahren Tatsachen Sechzehn Adorno-Schüler erinnern und daß ein Weiterdenken der Theorie für ihre Festlegung sind drei Jahre Erschütterung Einblick in die Abhängigkeit der Bauarbeiten sei")
75
65
  assert_equal "fi", d.detect("koulun arkistoihin pölyttymään, vaan nuoret saavat itse vaikuttaa ajatustensa eteenpäinviemiseen esimerkiksi")
76
- #assert_equal "sv", d.detect("enligt all sannolikhet för att få ro oavsiktligt intagit en för")
66
+ # assert_equal "sv", d.detect("enligt all sannolikhet för att få ro oavsiktligt intagit en för")
77
67
  assert_equal "hu", d.detect("esôzéseket egy kissé túlméretezte, ebbôl kifolyólag a Földet egy hatalmas árvíz mosta el")
78
68
  assert_equal "fi", d.detect("koulun arkistoihin pölyttymään, vaan nuoret saavat itse vaikuttaa ajatustensa eteenpäinviemiseen esimerkiksi")
79
69
  assert_equal "nl", d.detect("tegen de kabinetsplannen. Een speciaal in het leven geroepen Landelijk")
80
- #assert_equal "da", d.detect("viksomhed, 58 pct. har et arbejde eller er under uddannelse, 76 pct. forsørges ikke længere af Kolding")
70
+ assert_equal "da", d.detect("viksomhed, 58 pct. har et arbejde eller er under uddannelse, 76 pct. forsørges ikke længere af Kolding")
81
71
  assert_equal "cs", d.detect("datují rokem 1862. Naprosto zakázán byl v pocitech smutku, beznadìje èi jiné")
82
72
  assert_equal "no", d.detect("hånd på den enda hvitere restaurant-duken med en bevegelse så forfinet")
83
73
  assert_equal "pt", d.detect("popular. Segundo o seu biógrafo, a Maria Adelaide auxiliava muita gente")
74
+ assert_equal "en", d.detect("TaffyDB finders looking nice so far!")
84
75
  end
85
76
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: feedbackmine-language_detector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - feedbackmine
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-02-25 00:00:00 -08:00
12
+ date: 2009-05-16 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15