summaryrefslogtreecommitdiff
path: root/test/test_dags.rb
diff options
context:
space:
mode:
authorPatrick Simianer <p@simianer.de>2014-01-29 20:09:10 +0100
committerPatrick Simianer <p@simianer.de>2014-01-29 20:09:10 +0100
commit9f0689fe2ba4ff3cd48e9b0418ec3fb9eb0ac7ee (patch)
tree6807c77589543921be8f616476ca6f9cbb8b505f /test/test_dags.rb
parent648f2f583d37f7921a5e6d5fb9d70cc1a31fb837 (diff)
rake test
Diffstat (limited to 'test/test_dags.rb')
-rwxr-xr-xtest/test_dags.rb47
1 files changed, 47 insertions, 0 deletions
diff --git a/test/test_dags.rb b/test/test_dags.rb
new file mode 100755
index 0000000..08a96a2
--- /dev/null
+++ b/test/test_dags.rb
@@ -0,0 +1,47 @@
+#!/usr/bin/env ruby
+
+require 'nlp_ruby'
+require 'test/unit'
+
+
+class TestDAG < Test::Unit::TestCase
+
+ def test_viterbi
+ semiring = ViterbiSemiring.new
+ graph, nodes_by_label = DAG::read_graph_from_json('test/dags/example.json', semiring)
+ DAG::viterbi(graph, semiring, nodes_by_label['0'])
+ assert_equal(nodes_by_label['100'].score, 0.003)
+ end
+
+ # no negative weights here!
+ def test_dijkstra
+ semiring = RealSemiring.new
+ graph, nodes_by_label = DAG::read_graph_from_json('test/dags/example.json', semiring)
+ DAG::dijkstra(graph, semiring, nodes_by_label['0'])
+ assert_equal(nodes_by_label['100'].score, 0.5)
+ end
+
+ def test_bellman_ford
+ semiring = RealSemiring.new
+ graph, nodes_by_label = DAG::read_graph_from_json('test/dags/example.json', semiring)
+ DAG::bellman_ford(graph, semiring, nodes_by_label['0'])
+ assert_equal(nodes_by_label['100'].score, 0.5)
+ end
+
+ def test_floyd
+ graph, nodes_by_label = DAG::read_graph_from_json('test/dags/example.json')
+ d = DAG::floyd(graph)
+ assert_equal(d[0][graph.size-1], 0.5)
+ end
+
+ def test_dfs
+ graph, nodes_by_label = DAG::read_graph_from_json('test/dags/example.json')
+ assert_equal(nodes_by_label['100'], DAG::dfs(nodes_by_label['0'], '100'))
+ end
+
+ def test_bfs
+ graph, nodes_by_label = DAG::read_graph_from_json('test/dags/example.json')
+ assert_equal(nodes_by_label['100'], DAG::bfs(nodes_by_label['0'], '100'))
+ end
+end
+