summaryrefslogtreecommitdiff
path: root/test/test_hypergraph.rb
diff options
context:
space:
mode:
authorPatrick Simianer <p@simianer.de>2014-09-27 15:17:43 +0100
committerPatrick Simianer <p@simianer.de>2014-09-27 15:17:43 +0100
commitf65e428784cfd2264f3fdfddd574c37acd38f54f (patch)
tree6a98f82964cbce52957a2d62f8b2c5b7ff8be095 /test/test_hypergraph.rb
parentf28694f9bdd5059050e420cca2ca2694cbb0dda4 (diff)
cosmetic changes, bump to 1.1
Diffstat (limited to 'test/test_hypergraph.rb')
-rwxr-xr-xtest/test_hypergraph.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/test_hypergraph.rb b/test/test_hypergraph.rb
new file mode 100755
index 0000000..c5add9f
--- /dev/null
+++ b/test/test_hypergraph.rb
@@ -0,0 +1,24 @@
+#!/usr/bin/env ruby
+
+require_relative '../lib/zipf'
+require 'test/unit'
+
+class TestHG < Test::Unit::TestCase
+
+ def test_viterbi
+ semiring = ViterbiSemiring.new
+ hypergraph, nodes_by_label, nodes_by_index = HG::read_hypergraph_from_json('test/hypergraph/hg.json', semiring, true)
+ HG::viterbi hypergraph, nodes_by_label['root'], semiring
+ assert_equal('Goal', nodes_by_index.last.cat)
+ assert_equal(228.95, Math.log(nodes_by_index.last.score).round(2))
+ # do all operations in log space
+ semiring = ViterbiLogSemiring.new
+ hypergraph, nodes_by_label, nodes_by_index = HG::read_hypergraph_from_json('test/hypergraph/hg.json', semiring)
+ HG::viterbi hypergraph, nodes_by_label['root'], semiring
+ assert_equal('Goal', nodes_by_index.last.cat)
+ assert_equal(228.95, nodes_by_index.last.score.round(2))
+ assert_equal hypergraph.nodes.size, 221
+ assert_equal hypergraph.edges.size, 16640
+ end
+end
+